Kuaishou
Kling 2.5
kling-2.5-turbo/text-to-video
An image-to-video model launched by Kuaishou, standing out for its smooth motion and character consistency, with support for negative prompts and CFG adjustment, making it suitable for generating short clips with highly dynamic camera work
Try kling-2.5-turbo/text-to-video
Input
Showcases
View all showcasesOutput
videoPricing
kling-2.5-turbo/text-to-video per second
| Unit Price | $0.060 |
|---|
Positioning Overview
The text-to-video pipeline of Kling 2.5 Turbo is designed for developers who need to generate short videos directly from text. Simply input a prompt to produce cinematic clips of up to 10 seconds in landscape, portrait, or square aspect ratios, with support for negative prompts and CFG adjustment to control the visual direction. It is well suited for rapid content production of advertising shorts, film and television previews, and social media, and performs well in scenes with highly dynamic action and camera movement.
Key Highlights
- Quantifiable adjustment of prompt adherence — cfg_scale adjusts how closely the video follows the text description between 0 and 1, making it easy to balance creative freedom and precise reproduction.
- Negative prompts to exclude interfering elements — supports negative_prompt of up to 2500 characters to explicitly describe unwanted content and reduce wasteful regenerations.
- Three aspect ratios for multiple publishing channels — aspect_ratio offers 16:9, 9:16, and 1:1, so a single integration covers landscape, portrait, and square content.
- Two duration options: 5 and 10 seconds — duration can be set to 5 or 10 seconds, controlling clip length according to the needs of the final cut, suitable for short films and storyboard-level assets.
Capabilities
Direct text-to-video generation: Generate video by providing a prompt that describes the subject, action, scene, and camera movement, up to 2500 characters, suitable for batch production of shot assets using natural language.
Negative prompting and CFG control: Use negative_prompt to exclude unwanted elements and cfg_scale to adjust the strength of prompt adherence, reducing repeated attempts and improving the usability rate of single generations.
Selectable aspect ratio and duration: Choose 16:9, 9:16, or 1:1 aspect ratios according to the publishing channel, and specify a 5- or 10-second duration, so the output directly matches the specification requirements of the distribution channel.
Use Cases
- Advertising and brand teams: turning product selling-point copy into short videos — Input product descriptions and camera movement prompts to produce 5- or 10-second brand short video assets for feed advertising and social media publishing.
- Film and television pre-production teams: generating previews of script segments — Convert scene descriptions into dynamic concept clips to serve as storyboards and visual previews, helping directors and cinematographers confirm shot rhythm.
- Social media operations: batch production of vertical short videos — Choose the 9:16 aspect ratio and short durations to batch-generate vertical assets based on topic copy for daily content updates on short video platforms.
- Action and sports content creators: generating highly dynamic shots — Use prompts to describe complex actions such as sports and dance, and generate clips with smooth motion for sports or dance content production.
Limitations and Selection Advice
The maximum duration per generation is 10 seconds, so it is not suitable for directly producing long videos and requires post-production splicing or segmented generation. Output quality depends heavily on prompt writing and tuning parameters such as cfg_scale and negative prompts; for first-time use, it is recommended to run a small batch of trials to determine the parameters. This pipeline accepts only text input; if you already have reference images and want to maintain visual consistency, you should choose the image-to-video pipeline in the same family. For projects involving long-shot narratives or strict storyboard continuity, the cost of connecting segmented generations should be evaluated.
What's new
View changelog →- New model Added kling-2.5-turbo/text-to-video docs
- New model New video model docs
Create a generation task
https://api.hiapi.ai/v1/tasks Headers
AuthorizationstringRequiredAccount API key. Required on every request. Example: Bearer YOUR_HIAPI_API_KEY. Get your API key
Content-TypestringOptionalThe request body is always parsed as JSON; when sent, only application/json (optionally with charset) is accepted — any other value returns 415. Example: application/json.
Idempotency-KeystringOptionalIdempotency key, up to 255 bytes. Retries with the same key from the same account create the task only once; replays return the original taskId.
On network timeouts or client retries, the same key creates the task only once — no double charges (scope: the API key's account). Use a business-unique identifier as the key (e.g. "order-42"); replays return the original taskId, and keys expire 24 hours after the first request. See the Unified Async API overview for the full scenario matrix.
Body
modelstringRequiredCurrent fixed value: kling-2.5-turbo/text-to-video
routestringOptionalCurrent fixed value: default
inputobjectRequired
Business parameters for kling-2.5-turbo/text-to-video and route default — see the parameter table below.
promptstringRequiredminLength 1maxLength 2500Prompt used to describe the video's subject, actions, scene, and camera movement, based on which the model generates the corresponding visual content.
durationintegerOptionalDefault: 5min 5max 10Duration of the generated video, in seconds; default is 5 seconds.
510cfg_scalenumberOptionalDefault: 0.5min 0max 1Prompt adherence strength, controlling how closely the video content matches the text description; default is 0.5.
aspect_ratiostringOptionalDefault: "16:9"Aspect ratio, determining whether the generated video is landscape, portrait, or square, selectable based on the publishing platform; default is 16:9.
16:99:161:1negative_promptstringOptionalmaxLength 2500Negative prompt, used to describe content that should not appear in the generated video; the model will try to avoid these elements.
callbackobjectOptional
Terminal-state notification config. When omitted, no callback is delivered — poll the task yourself. See the callback note below.
Provide callback.url when creating a task and HiAPI POSTs to your service once the task reaches a terminal state — no polling needed. The callback payload mirrors the task detail structure; signature verification, delivery retries and idempotency are documented on the Unified Async API overview page.
urlstringRequiredRequired when callback is present. A POST is sent to this URL once the task reaches a terminal state; must be a valid http(s) URL.
whenstringOptionalDefault: "final"Only final is supported today — notified on both success and fail.
finalstoragestringOptionalDefault: "temp"Artifact storage tier: temp (default, retained about 7 days) or persistent (long-term, billed by size). Insufficient balance or exceeding the storage cap silently downgrades to temp; the effective tier is shown in the task detail response.
temppersistentRequest examples
# Submit an async task; returns a taskId immediately (no waiting for generation)
curl -X POST "https://api.hiapi.ai/v1/tasks" \
-H "Authorization: Bearer $HIAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "kling-2.5-turbo/text-to-video",
"input": {
"prompt": "…",
"duration": 5,
"cfg_scale": 0.5,
"aspect_ratio": "16:9"
}
}' const res = await fetch("https://api.hiapi.ai/v1/tasks", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.HIAPI_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "kling-2.5-turbo/text-to-video",
input: {
"prompt": "…",
"duration": 5,
"cfg_scale": 0.5,
"aspect_ratio": "16:9"
}
}),
});
const task = await res.json();
// { code: 200, message: "success", data: { taskId } } import os, requests
res = requests.post(
"https://api.hiapi.ai/v1/tasks",
headers={"Authorization": f"Bearer {os.environ['HIAPI_API_KEY']}"},
json={
"model": "kling-2.5-turbo/text-to-video",
"input": {
"prompt": "…",
"duration": 5,
"cfg_scale": 0.5,
"aspect_ratio": "16:9"
}
},
)
print(res.json()) # { code, message, data: { taskId } } 200 OK
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR"
}
} 400 Bad Request
{
"code": 400,
"message": "invalid request",
"data": null,
"error_code": "INVALID_REQUEST"
} Get task detail
https://api.hiapi.ai/v1/tasks/:id Response fields
taskIdstringRequiredTask ID, always prefixed with tk-hiapi-.
modelstringRequiredResolved full model name. Tasks submitted with the route parameter return base@route (e.g. gpt-image-2/text-to-image@ext); otherwise identical to the name passed at creation.
routestringOptionalPresent only when the task was submitted with an explicit route parameter; echoes the submitted value.
statusstringRequiredTask status.
queued Queued, not started yet.
handling Being processed.
archiving Processing finished, artifacts being prepared.
success Terminal: completed, artifacts available (output returned).
fail Terminal: failed (error returned).
After submission, check status: success and fail are terminal, everything else is non-terminal. Poll every 1–3 seconds until terminal. On success, download artifacts from output[].url and transfer them before expireAt; pass storage: "persistent" at creation time when long-term retention is needed.
creatednumberRequiredTask creation time (Unix seconds).
completednumberRequiredUnix seconds when the task reached a terminal state; fixed to 0 while not terminal.
outputarrayOptional
Present only when status == success. Artifact list — always an array; a single task may return multiple types at once (e.g. video + first_frame).
Array [ object ]
Array items
urlstringRequiredArtifact URL, directly downloadable.
typestringRequiredCurrent possible values: video, image, audio, first_frame, last_frame, thumbnail; more may be added later.
expireAtnumberRequiredUnix seconds until which the artifact remains accessible; download or transfer before it expires.
errorobjectOptional
Present only when status == fail.
codestringRequiredBusiness error code.
messagestringRequiredError description.
Response examples
Success
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR",
"model": "happyhorse-1-0",
"status": "success",
"created": 1777282033,
"completed": 1777282099,
"output": [
{
"url": "https://cdn.hiapi.ai/tasks/.../video.mp4",
"type": "video",
"expireAt": 1777886899
}
]
}
} Processing (non-terminal)
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "archiving",
"created": 1777282033,
"completed": 0
}
} Failed
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "fail",
"created": 1777282033,
"completed": 1777282099,
"error": {
"code": "TASK_FAILED",
"message": "task failed"
}
}
} Articles
View all articles →Related Models
View all models →Same Type
-
Kling 2.5 Kuaishou $0.060 /second -
FLUX 3 Max Black Forest Labs $0.061 /second -
Gemini Omni 1.1 Flash Google $0.450 /video -
Wan 2.6 Flash Alibaba $0.043 /second -
Wan 2.7 Video Alibaba $0.100 /second -
Wan 3.0 Video Alibaba $0.040 /second -
Veo 3.1 Google $0.290 /second -
Grok Imagine 1.5 xAI $0.011 /second -
LTX 2.5 Fast Lightricks $0.086 /second -
Runway Gen 4.5 Runway $0.172 /second -
HeyGen Avatar IV HeyGen $0.150 /second -
FLUX 3 Video Black Forest Labs $0.090 /second