Kuaishou
Kling 3.0 Turbo
kling-3.0-turbo/image-to-video
A video generation model built for fast previews and high-frequency iteration, supporting both text-to-video and image-to-video, producing clips of 1–15 seconds at 480p–1080p, with image-to-video referencing up to 7 images
Try kling-3.0-turbo/image-to-video
Input
Showcases
View all showcasesOutput
videoPricing
kling-3.0-turbo/image-to-video per second
| Specifications | Unit Price |
|---|---|
| 720P | $0.130 |
| 1080P | $0.160 |
Overview
kling-3.0-turbo/image-to-video is the image-to-video route in Kuaishou's Kling 3.0 Turbo series, called through the unified HiAPI.ai interface. It uses a single first-frame image as the anchor and, combined with a text prompt, generates a 3–15 second video, with output available at either 720p or 1080p. Prompts can be up to 2,500 characters, and dialogue can be marked with quotation marks to generate lip-synced lines. It is positioned for fast output and multi-version iteration: suitable for developers who need to quickly obtain a motion preview from a still image and test camera movement and subject motion direction, rather than directly producing a highly polished final cut.
Key Highlights
- Single-image first-frame driven, controllable results — a single jpeg/png first-frame image plus a prompt is all it takes to generate a video; the subject and composition are locked by the image, reducing the randomness of text descriptions.
- Dialogue and lip sync embedded in the prompt — prompts support marking dialogue with quotation marks to generate speaking clips with lip sync, saving the preliminary step of additional dubbing and track alignment.
- Adjustable duration and resolution — output duration is adjustable from 3–15 seconds, and resolution can switch between 720p and 1080p, so previews and near-final cuts can be completed with the same model.
Capabilities
First-frame image-to-video: pass in a single jpeg/png first-frame image (up to 10MB, SVG not supported) and a prompt; the model generates subsequent motion following the image's subject and composition, ensuring the starting frame matches expectations.
Dialogue and lip sync: dialogue lines can be written in quotation marks within the prompt, and the generated clip will show corresponding lip movements, suitable for short talking-head material featuring people.
Duration and resolution control: duration is set as an integer between 3 and 15 seconds, defaulting to 5 seconds; resolution can be 720p or 1080p, chosen according to the target placement.
Detailed prompt responsiveness: prompts can be up to 2,500 characters, allowing full description of subject actions, scene atmosphere, and camera direction, trading longer descriptions for motion results closer to expectations.
Use Cases
- Design and marketing teams validating creative directions — use product or scene images as the first frame to quickly generate multiple motion previews for internal review and direction confirmation before client proposals.
- Batch trial production of social media short-video variants — based on the same person or product first frame, adjust prompts to produce multiple short clips for pre-campaign selection of better-performing versions.
- Testing camera movement and subject motion direction — use still images as starting points to test motion effects under different shot descriptions and determine the shooting and storyboard plan for subsequent formal production.
- Character talking-head material with dialogue — use a portrait image as the first frame and write quoted dialogue in the prompt to generate short talking-head clips with matching lip movements, for use as ad hooks or feed material.
Limitations and Selection Advice
Positioned for fast output and preview iteration, its visual detail and cross-shot consistency make it unsuitable for direct use as a highly polished final cut; projects requiring strict storyboarding and character consistency should evaluate Pro-level models. Available information does not confirm native audio output, so music or final mixing must be handled separately. Results are fairly sensitive to prompt detail, and overly brief descriptions have limited stability. The first frame supports only a single image, with no multi-image reference. Actual available parameters are subject to the current configuration of the HiAPI.ai route.
Frequently asked questions
View all FAQs →-
Does Kling 3.0 Turbo text-to-video require an input image?
No. This page uses the pure text-to-video model kling-3.0-turbo/text-to-video and accepts a text prompt without an image. Use the separate Kling 3.0 Turbo Image-to-Video page when a clip must start from a source frame.
-
Which durations, resolutions, and aspect ratios does Kling 3.0 Turbo support?
The current HiAPI contract supports 3–15 seconds at 720p or 1080p in 16:9, 9:16, or 1:1. The page cases cover 720p, five- and twelve-second clips, landscape, and vertical output. The 1080p and 1:1 options are supported contract values with no page example yet.
-
How is Kling 3.0 Turbo text-to-video priced?
Billing depends on generated duration and resolution, with separate per-second tiers for 720p and 1080p. Check the live page price and task record for the final charge.
-
How should I write a Kling 3.0 Turbo text-to-video prompt?
Start with subject and setting, describe action and camera movement in order, then add lighting, style, and stability constraints. For a long take, specify single continuous shot, no cuts, and the camera path. For vertical work, mention vertical composition and set aspect_ratio to 9:16.
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-turbo/image-to-video
routestringOptionalCurrent fixed value: default
inputobjectRequired
Business parameters for kling-3.0-turbo/image-to-video and route default — see the parameter table below.
promptstringRequiredminLength 1maxLength 2500Text description for generating the video, up to 2500 characters; lines can be written inside quotation marks to achieve lip-sync dialogue.
durationintegerOptionalDefault: 5min 3max 15Duration of the generated video in seconds, ranging from 3 to 15, default is 5.
image_urlsarrayRequiredminItems 1maxItems 1Array of first-frame image URLs; only a single image is supported, in jpeg or png format, with a maximum of 10MB per image; SVG is not supported.
Array [ string ]
resolutionstringOptionalDefault: "720p"Resolution of the generated video, default is 720p.
720p1080pcallbackobjectOptional
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-turbo/image-to-video",
"input": {
"prompt": "…",
"duration": 5,
"image_urls": "…",
"resolution": "720p"
}
}' 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-turbo/image-to-video",
input: {
"prompt": "…",
"duration": 5,
"image_urls": "…",
"resolution": "720p"
}
}),
});
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-turbo/image-to-video",
"input": {
"prompt": "…",
"duration": 5,
"image_urls": "…",
"resolution": "720p"
}
},
)
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
-
Veo 3.1 Fast Google $0.170 /second -
HeyGen Avatar V HeyGen $0.150 /second -
Wan 2.7 Video Alibaba $0.100 /second -
Veo 3.1 Google $0.290 /second -
HeyGen Avatar IV HeyGen $0.150 /second -
Grok Imagine 1.5 xAI $0.011 /second -
Wan 3.0 Video Alibaba $0.040 /second -
LTX 2.5 Fast Lightricks $0.086 /second -
Veo 3.1 Lite Google $0.060 /second -
Kling 3.0 Kuaishou $0.100 /second -
Runway Gen 4.5 Runway $0.172 /second -
Creatify Boreal Creatify $0.015 /second



