Kling 3.0
Use kling-3.0 to create video output. This page contains the complete request needed for this model.
Model facts
| Property | Value |
|---|---|
| Model ID | kling-3.0 |
| Endpoint | POST /api/v1/generation/create |
| Output | Video |
| Modes | text-to-video, image-to-video |
| Pricing | View current pricing |
Minimal request
curl -X POST https://api.api-stock.com/api/v1/generation/create \
-H "Authorization: Bearer $API_STOCK_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "kling-3.0",
"input": {
"prompt": "A cinematic scene with soft natural light"
}
}'
The create response contains a task ID:
{
"code": 200,
"data": {
"taskId": "019ca881-9503-7270-a560-f00fc2b15785",
"status": "not_started",
"createdAt": "2026-08-22T12:00:00.000Z"
}
}
Parameters
Parameters belong inside the top-level input object. Unknown fields are rejected.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
prompt | string | Yes | — | Video content description max 2500 chars |
resolution | “720p” | “1080p” | “4k” | No | "720p" | Video resolution tier (affects pricing) |
duration | number | No | 5 | Video duration in seconds (3-15). Billed per second min 3, max 15 |
aspectRatio | “16:9” | “9:16” | “1:1” | No | "16:9" | Video aspect ratio. Ignored in image-to-video mode — the ratio is taken from the input frame |
generateAudio | boolean | No | false | Whether to generate a native audio track (increases pricing on 720p and 1080p) |
imageUrls | string[] | No | — | Input frames for image-to-video. One URL is used as the first frame, two as first + last frame |
Modes
Minimal generation
{
"model": "kling-3.0",
"input": {
"prompt": "A cinematic scene with soft natural light"
}
}
With image urls
{
"model": "kling-3.0",
"input": {
"prompt": "A cinematic scene with soft natural light",
"imageUrls": [
"https://example.com/input.jpg"
]
}
}
Constraints
prompt: maximum 2500 characters.resolution: allowed:720p,1080p,4k.duration: minimum 3; maximum 15.aspectRatio: allowed:16:9,9:16,1:1.
Invalid types, unsupported enum values, out-of-range numbers, and missing required fields return HTTP 400 with error.code: "invalid_input". Correct the request rather than retrying it unchanged.
Result
Poll the task or provide a top-level webhook URL in the create request:
curl https://api.api-stock.com/api/v1/task/status/$TASK_ID \
-H "Authorization: Bearer $API_STOCK_KEY"
A successful media task returns one or more files:
{
"code": 200,
"data": {
"taskId": "019ca881-9503-7270-a560-f00fc2b15785",
"status": "finished",
"files": [
{
"fileUrl": "https://storage.api-stock.com/result.mp4",
"fileType": "video"
}
],
"createdTime": "2026-08-22T12:00:00.000Z"
}
}
See Tasks and webhooks for terminal statuses, retries and webhook delivery.