Model API
Kling 4.0
Kling 4.0 generates videos from text prompts and image or video references at 720p or 1080p, with durations from 3 to 30 seconds and per-shot prompts.
Model id
kling/v4/reference-to-videoThis model has other modes with their own ids: kling/v4/text-to-video, kling/v4/image-to-video, kling/v4/video-to-video/edit.
Run it
Quote the input, start the generation with the quote, then poll the job. Set RAYWAKE_API_KEY first; see Authentication.
# 1. Price the exact input (quotes are valid for up to 10 minutes)
curl -s https://api.raywake.com/v1/quotes \
-H "Authorization: Bearer $RAYWAKE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "kling/v4/reference-to-video",
"input": {
"prompt": "A red ceramic cup on a wooden table, soft morning light"
}
}'
# 2. Start the generation with the quote_id from step 1
curl -s https://api.raywake.com/v1/generate \
-H "Authorization: Bearer $RAYWAKE_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"model": "kling/v4/reference-to-video", "quote_id": "QUOTE_ID", "input": {"prompt":"A red ceramic cup on a wooden table, soft morning light"}}'
# 3. Poll until the status is terminal
curl -s https://api.raywake.com/v1/jobs/JOB_ID \
-H "Authorization: Bearer $RAYWAKE_API_KEY"Input
| Name | Type | Description |
|---|---|---|
prompt | string | Text prompt. Reference inputs as @Image1, @Video1, @Element1, etc. Either prompt or multi_prompt must be provided. |
multi_prompt | array of objects | Per-shot prompts for multi-shot generation. The video duration is the sum of the shot durations. |
duration | integer | Video duration in seconds (3-30). |
start_image_url | string (image URL) | Optional image to use as the first frame. Counts toward the image reference limit. |
middle_image_urls | array of image URLs | Optional ordered keyframes between the first and last frames (max 8). Count toward the image reference limit. |
end_image_url | string (image URL) | Optional image to use as the last frame. Counts toward the image reference limit. |
image_urls | array of image URLs | Reference images, referenced as @Image1, @Image2, ... (max 10). |
video_urls | array of image URLs | Reference videos (3-30s each, 30s combined with element videos), referenced as @Video1, @Video2, ... (max 5). |
elements | array of objects | Characters/objects, referenced as @Element1, @Element2, ... (max 7). Up to 3 may be video elements. |
resolution | string (enum) | Output resolution. |
aspect_ratio | string (enum) | Aspect ratio of the generated video. 'auto' adapts it to the references. |
Output
A succeeded job lists its results under outputs, stored on our side. See Jobs for every field.
"outputs": [
{ "type": "video", "url": "https://…", "mime_type": "video/mp4", "thumbnail_url": "https://…" }
]Pricing
- 720p$0.2488/ second
- 1080p$0.3724/ second
- 720p · with video, input + output seconds$0.149/ second
- 1080p · with video, input + output seconds$0.2235/ second
The exact charge for your input comes from a quote. How charges settle