Kuaishou
Kling 3.0
kling-3.0/text-to-video
A unified multimodal video generation series supporting text-to-video, image-to-video, reference-to-video, and in-video editing, with native lip sync and multilingual audio
Try kling-3.0/text-to-video
Input
Showcases
View all showcasesOutput
videoPricing
kling-3.0/text-to-video per second
Positioning Overview
kling-3.0/text-to-video is the text-to-video route in the Kling 3.0 series: enter a text description and generate a finished video with optional native audio. It supports durations from 3 to 15 seconds, resolutions from 720p to 4K, and landscape, portrait, and square aspect ratios. It is suited to developers and content teams that need to turn scripts or ideas into publishable videos quickly, and per-second billing makes it easy to control costs by clip length.
Key Highlights
- Text-to-video with native audio — when the audio option is enabled, it generates sound effects and ambient sound synchronized with the visuals, eliminating the need for a separate dubbing step.
- Resolution and aspect ratio coverage for mainstream publishing needs — 720p, 1080p, and 4K resolutions and 16:9, 9:16, and 1:1 aspect ratios let a single call match landscape, portrait, and square placements.
- Adjustable duration to fit the narrative — generate 3 to 15 seconds per call, so short films and multi-shot segments can both be completed within the same interface.
Capability Description
Pure text to finished video: submit only a prompt to produce a video, ideal for teams that already have scripts or copy but lack footage and need to produce videos quickly.
Choose native audio or silence: optionally enable synchronized sound effects and ambient sound, or turn audio off and output visuals only, making it easy to add your own music or voiceover in post-production.
Parametric resolution and aspect ratio: control output specifications directly through resolution and aspect ratio parameters, reducing the quality loss caused by cropping and scaling after generation.
Duration linked to cost: billing is by output seconds, so shortening duration or lowering resolution compresses the cost per clip, making batch test clips easier.
Use Cases
- Marketing teams quickly produce ad clips from copy — turn campaign copy into 9:16 or 16:9 finished videos for direct use in feed ads and brand short videos.
- Content creators mass-produce vertical short videos — batch-generate 9:16 short-video assets by topic for daily updates on social platforms.
- Validate storyboard ideas when live-action footage is lacking — generate short clip previews from text descriptions to evaluate shot effects for early-stage storyboarding and creative review.
Limitations and Selection Advice
The maximum duration per generation is 15 seconds; long narratives need to be generated in segments and then stitched together. Native audio covers only sound effects and ambient sound, not dialogue or lip sync; dialogue content requires separate audio or a different route in the series. Resolution, duration, and the audio switch all affect cost, so before mass production it is advisable to validate results with a low-resolution short clip first. If reference images are available or motion control is needed, choose the image-to-video or motion-control route in the same series.
What's new
View changelog →- New model New models: Kling 3.0 Omni (可灵 O3) via POST /v1/tasks
Frequently asked questions
View all FAQs →-
Does Kling 3.0 Image-to-Video require an input image?
Yes. kling-3.0/image-to-video is an image-to-video route. The image establishes the subject and opening composition; the prompt directs motion, camera, and environmental change.
-
Which durations and resolutions does Kling 3.0 Image-to-Video support?
The current HiAPI contract supports 3–15s at 720p or 1080p or 4K. Check the page controls and API docs for the current options.
-
How is Kling 3.0 Image-to-Video billed?
Billing follows output duration and the selected tier. The page follows the global display unit, while the successful task record contains the final charge.
-
How can I improve subject consistency?
Use a clear, unobstructed source with a complete composition. Describe the main action and camera first, then name the appearance, material, and background relationships that must remain stable. Validate a short clip first.
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-3.0/text-to-video
routestringOptionalCurrent fixed value: default
inputobjectRequired
Business parameters for kling-3.0/text-to-video and route default — see the parameter table below.
soundbooleanOptionalDefault: falseWhether to generate sound effects/ambient audio synchronized with the visuals; enabling this costs more per call. Boolean, defaults to false.
promptstringRequiredText prompt describing the video content to be generated, as a string.
durationintegerOptionalDefault: 5min 3max 15Duration of the video clip in seconds, ranging from 3 to 15; the cost increases with duration. Defaults to 5 seconds.
resolutionstringOptionalDefault: "1080p"Output video resolution, as a string; higher resolutions cost more. Defaults to 1080p.
720p1080p4Kaspect_ratiostringOptionalDefault: "16:9"Aspect ratio of the output video, as a string. Defaults to 16:9.
16:99:161:1callbackobjectOptional
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-3.0/text-to-video",
"input": {
"sound": false,
"prompt": "…",
"duration": 5,
"resolution": "1080p",
"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-3.0/text-to-video",
input: {
"sound": false,
"prompt": "…",
"duration": 5,
"resolution": "1080p",
"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-3.0/text-to-video",
"input": {
"sound": False,
"prompt": "…",
"duration": 5,
"resolution": "1080p",
"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
-
Creatify Boreal Creatify $0.015 /second -
Kling AI Avatar Kuaishou -- -
PixVerse V6 PixVerse $0.036 /second -
Veo 3.1 Fast Google $0.170 /second -
Gemini Omni 1.1 Flash Google $0.450 /video -
Kling 2.5 Kuaishou $0.060 /second -
Gemini Omni Google -- -
Vidu Q3 Vidu $0.149 /second -
Seedance 2.5 ByteDance $0.121 /second -
HappyHorse 1.0 Alibaba $0.168 /second -
Vidu Q4 Preview Vidu $0.051 /second -
HeyGen Avatar IV HeyGen $0.150 /second