Skip to content
Open CastalyConsole

Video

kling-2.5-turbo API

Use the exact kling-2.5-turbo model ID through Modelflare asynchronous video routing.

Use the exact model ID kling-2.5-turbo. The model field must match this page exactly.

Sample outputkling-2.5-turboPOST /v1/videos5.0s

Parameters: duration=5resolution=1080pratio=16:9

Prompt: One continuous take, no cuts. A night market grill under plastic awnings, skewers over coals. A cook in a lacquer-red jacket fans the fire once and the sparks refuse to die: they climb, gather and turn into a flock of small orange birds that wheels above the stalls and pours down the length of the street. The camera starts tight on the coals, pulls back and rises with the flock over the awnings. One hard warm key from the grill itself, cold blue street beyond. Real weight and inertia, smoke and heat shimmer, no text.

Request that produced this sample
{
"model": "kling-2.5-turbo",
"prompt": "One continuous take, no cuts. A night market grill under plastic awnings, skewers over coals. A cook in a lacquer-red jacket fans the fire once and the sparks refuse to die: they climb, gather and turn into a flock of small orange birds that wheels above the stalls and pours down the length of the street. The camera starts tight on the coals, pulls back and rises with the flock over the awnings. One hard warm key from the grill itself, cold blue street beyond. Real weight and inertia, smoke and heat shimmer, no text.",
"seconds": "5",
"duration": 5,
"resolution": "1080p",
"ratio": "16:9",
"aspect_ratio": "16:9"
}

Use a Modelflare API key with https://modelflare.dev/v1. The gateway entry point is POST /v1/videos.

HTTP
Authorization: Bearer YOUR_MODELFLARE_API_KEY
Terminal windowbash
curl https://modelflare.dev/v1/videos \
-H "Authorization: Bearer YOUR_MODELFLARE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model_name": "kling-2.5-turbo",
"prompt": "A white cat runs through a neon-lit street in the rain, cinematic tracking shot",
"duration": "5", "mode": "std"
}'

Save the task ID. Poll GET /v1/videos/{task_id} and download with GET /v1/videos/{task_id}/content. Result URLs may expire, so transfer the file promptly.

Terminal windowbash
curl https://modelflare.dev/v1/videos/TASK_ID \
-H "Authorization: Bearer YOUR_MODELFLARE_API_KEY"

Kling uses family-specific model_name, prompt, mode, duration, image_list, or contents / settings fields; native JSON is preserved and forwarded.

Kling Legacy uses model_name with the text2video / image2video request structures. Check the model’s official page and pricing page for mode, resolution, and audio lanes.

Field Required Notes
model_name Yes kling-2.5-turbo
prompt Conditional Required for text-to-video; combine with images for image-to-video
image Conditional First-frame image URL or Base64
image_tail No Optional end-frame image
video_url Conditional Reference video for Kling 3.0 motion control
image_list No Image list for Omni/O1 and multimodal workflows
negative_prompt No Negative prompt
mode No std / pro / 4k (model-dependent)
duration No 5 / 10(字符串)
multi_shot No Enable multi-shot storyboarding
sound No Generate synchronized sound where supported
camera_control No Camera control where supported

Kling 2.5 Turbo uses the Legacy API with fixed 5/10-second durations and 720p/1080p. It supports text-to-video and single-first-frame image-to-video, but not native audio, voices, multi-shot, motion brush, or camera control.

Legacy models select model_name, first/end-frame, or motion-control fields by workflow; fixed duration and audio limits follow this page’s table.

Terminal windowbash
curl https://modelflare.dev/v1/videos \
-H "Authorization: Bearer YOUR_MODELFLARE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model_name": "kling-2.5-turbo", "prompt": "一只狗在海边奔跑",
"duration": "5", "mode": "pro", "aspect_ratio": "16:9", "sound": "off"
}'

Invalid model parameters return a 4xx with a request ID. An asynchronous task can also enter failed after creation succeeds; use error_code and error_message from the poll response as the final task reason. Do not retry the same request with a different JSON shape.

This page covers Modelflare model generation and editing calls. Search or map enrichment, voice management, and element-library management are resource APIs outside this public model-call surface and are not required request fields.

This model uses per-second video billing. See the model pricing page for the current customer price, reference list price, and complete specification.

Media contract · v1

Contract ID: media.kling-2-5-turbo.v1Adapter: video.kling.legacy.v1@v1Fingerprint: 3126429a6aaf524dc6fef7239bd78c28eba3d8c07dd9259c85ee8e422bebe2c6

Official source: Kuaishou Kling

Contract parameters

Intent fieldControlOptions
ratioselect16:9 / 9:16 / 1:1
resolutionselect720p / 1080p
durationselect5 / 10

Supported capability

  • allowed_values · ratio · 16:9, 9:16, 1:1
  • allowed_values · resolution · 720p, 1080p
  • allowed_values · duration · 5, 10
  • max_assets · reference_asset_ids · 2

Structured request example

text

Intent

{
  "duration": 5,
  "prompt": "A red paper kite over a quiet harbour at dusk.",
  "ratio": "16:9",
  "resolution": "720p"
}

Provider request

{
  "aspect_ratio": "16:9",
  "duration": "5",
  "mode": "std",
  "model_name": "kling-2.5-turbo",
  "prompt": "A red paper kite over a quiet harbour at dusk."
}

reference

Intent

{
  "duration": 5,
  "prompt": "A red paper kite over a quiet harbour at dusk.",
  "ratio": "16:9",
  "resolution": "720p"
}

Provider request

{
  "aspect_ratio": "16:9",
  "duration": "5",
  "image": "https://example.com/reference.png",
  "mode": "std",
  "model_name": "kling-2.5-turbo",
  "prompt": "A red paper kite over a quiet harbour at dusk."
}