Kling 2.5 Turbo Pro
Kling 2.5 Turbo Pro API. Fast text-to-video and image-to-video, 5 or 10 seconds, with negative prompts.
Pricing, live playground and model overview: Kling 2.5 Turbo Pro API on YepAPI
/v1/media/queueOverview
Kling 2.5 Turbo Pro — fast Kling 2.5 video from text or an image, in 5 or 10 second clips. Async operation — submit a job, poll for completion.
| Property | Value |
|---|---|
| Model ID | kwaivgi/kling-v2.5-turbo-pro |
| Provider | Kling |
| Inputs | text-to-video, image-to-video |
| Duration | 5 or 10 seconds |
| Audio Generation | Not supported |
| Billing | Per job — priced when queued, charged only on success |
| Pricing | from $0.119/second |
Usage
All media models use the async job queue. Submit a job, then poll for the result.
Step 1: Submit Job
Text-to-Video
options.params passes this model's own parameters (see Model parameters).
const res = await fetch('https://api.yepapi.com/v1/media/queue', {
method: 'POST',
headers: {
'x-api-key': 'YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
model: 'kwaivgi/kling-v2.5-turbo-pro',
prompt: 'A cinematic drone shot over a rugged coastline at golden hour',
options: {
duration: '5',
params: {
negative_prompt: 'blurry, low quality, distorted faces',
},
},
}),
});
const { data } = await res.json();
// data.jobId — use this to poll for resultscurl -X POST https://api.yepapi.com/v1/media/queue \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "kwaivgi/kling-v2.5-turbo-pro", "prompt": "A cinematic drone shot over a rugged coastline", "options": {"duration": "5", "params": {"negative_prompt": "blurry, low quality, distorted faces"}}}'Image-to-Video
Pass a starting image via imageData to animate it.
const res = await fetch('https://api.yepapi.com/v1/media/queue', {
method: 'POST',
headers: {
'x-api-key': 'YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
model: 'kwaivgi/kling-v2.5-turbo-pro',
prompt: 'Animate this scene — clouds drifting, light changing',
options: {
duration: '5',
},
imageData: {
mimeType: 'image/jpeg',
base64: '...', // Base64-encoded image
},
}),
});curl -X POST https://api.yepapi.com/v1/media/queue \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "kwaivgi/kling-v2.5-turbo-pro", "prompt": "Animate this scene — clouds drifting, light changing", "options": {"duration": "5"}, "imageData": {"mimeType": "image/jpeg", "base64": "..."}}'Step 2: Poll for Result
const status = await fetch(`https://api.yepapi.com/v1/media/status/${data.jobId}`, {
headers: { 'x-api-key': 'YOUR_API_KEY' },
});
const { data: job } = await status.json();
// job.status — "pending" | "processing" | "completed" | "failed"
// job.result.video — { mimeType, base64 } when completedcurl https://api.yepapi.com/v1/media/status/JOB_ID \
-H "x-api-key: YOUR_API_KEY"Request Body
| Parameter | Type | Required | Description | Default |
|---|---|---|---|---|
model | string | Yes | kwaivgi/kling-v2.5-turbo-pro | — |
prompt | string | Yes | Text description of the video to generate | — |
options.duration | string or number | No | 5 or 10 (seconds) | 5 |
options.params | object | No | Model-specific parameters under their own names: cfg_scale, negative_prompt. Unknown names return 400 | — |
imageData.mimeType | string | No | MIME type of input image (image/png, image/jpeg, image/webp) | — |
imageData.base64 | string | No | Base64-encoded input image for image-to-video generation | — |
Options are validated when you submit: an unsupported duration, resolution or value returns 400 naming the allowed values.
Model parameters
Pass these inside options.params.
| Parameter | Type | Allowed | Description | Default |
|---|---|---|---|---|
cfg_scale | number | 0–1 | How closely to follow the prompt (higher = stricter) | 0.5 |
negative_prompt | string | — | What to keep out of the result | — |
Features
- Text-to-video and image-to-video
- 5 or 10 seconds
- Negative prompts and
cfg_scaleviaoptions.params
Pricing
| Tier | ≈ Cost/sec | 5-second video |
|---|---|---|
| All requests | $0.119 | $0.60 |
Prices shown are for a 5-second clip at the default settings; longer clips cost proportionally more. Each job is priced when it's queued — the exact quote for your duration, resolution and options — and charged only if it succeeds. Failed or moderated jobs are free.
Video jobs can take several minutes to complete. When capacity is busy, jobs wait in the queue (status stays pending or processing) — no action needed. Results retained for 1 hour.
Powered by Kling's Kling 2.5 Turbo Pro via our AI provider.