Kling Video V3
The three models share PopGo's video task API, but differ in image count, frame semantics and output formats. Reference video and reference audio are not exposed by this integration. The service documentation's “audio” column does not declare an audio-reference input.
Model differences
| Model | Images | Output audio (service documentation) | Resolution |
|---|---|---|---|
kling-video-v3 | Up to 2; first image = first frame, second = last frame | Supported | 720p / 1080p / 4K |
kling-video-v3-omni | Up to 7 reference images | Supported | 720p / 1080p / 4K |
kling-video-v3-turbo | One first frame only | Audio unsupported | 720p / 1080p |
Fields and defaults
| Field | Type | Rule |
|---|---|---|
model | string | Required; use a public model ID above |
prompt | string | Required; describe subjects, movement and camera |
seconds / duration | integer | Integer 3–15 seconds; set explicitly, UI default 5 seconds |
resolution | string | Select 720p / 1080p / 4K per model; UI default 720p, service default 4K; Turbo excludes 4K |
aspect_ratio | string | 16:9 / 9:16 / 1:1; default 16:9; see image guidance below |
reference_images | object[] | Object array; each item uses url or image_url with a public HTTP(S) URL or complete image Data URL |
Use reference_images
Use the object array below for direct API calls. PopGo also normalizes Canvas file uploads and frame fields, but clients should not send multiple aliases together. Public URLs are optional; local images may be encoded as complete Data URLs. Sharing pages, login URLs and filesystem paths are not image URLs.
curl -X POST https://api.popgo.site/v1/videos \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "YOUR_MODEL",
"prompt": "A person turns toward the camera",
"seconds": 5,
"resolution": "720p",
"reference_images": [
{"url": "YOUR_IMAGE_URL"}
]
}'
Text-to-video: omit reference_images. Otherwise preserve array order. For the standard model, two images are the first and last frames, not two ordinary style references. Omni uses multiple images for subject/style references; Turbo rejects more than one image.
Aspect ratio and output
The service documentation records a 1024×1536 first frame producing 2352×3524 output on the standard model: the aspect ratio follows the first image. Crop the input first when you need a specific frame. Do not assume aspect_ratio overrides every image workflow. Canvas currently hides aspect ratio for first-frame mode.
A documented Omni 5-second 4K sample was 3840×2160, 24 fps, about 5.042 seconds, 8.9 Mbps and 5.6 MB. This is one observed output, not a fixed bitrate or file-size guarantee.
Unsupported and unconfirmed fields
None of these three models currently exposes reference_video, video_reference, reference_audio or a motion-control reference workflow. generate_audio controls the output track; it is not reference media. The current Canvas preset does not expose that output toggle. The name Omni does not imply motion-control support.
Unlisted fields such as quality may be silently ignored. HTTP 200 does not prove a field was used; do not infer seed or watermark support from generic video conventions. Confirm the current interface specification and inspect results before enabling new fields.
Four polling caveats
- The service documentation records progress remaining at 0 until completed / 100. This alone does not mean the job is stuck; do not invent intermediate percentages.
- The polling model field may be empty; retain the submitted model ID.
- usage may be absent; use PopGo usage and billing records rather than assuming the task was free.
- Resolution, duration and frame rate may be absent; probe the downloaded media. Response timestamps are not a reliable elapsed-time measurement.
Three documented runs took about 140, 200 and 420 seconds. Poll every 10 seconds and allow at least 15 minutes; this is not a latency guarantee. After a local timeout, query the original task instead of submitting another one.
Errors and corrections
| Symptom | Action |
|---|---|
| 400 invalid parameters | Check duration, ratio, resolution and image-count allowlists; do not repeat unchanged |
| 404 model or task missing | Check public model ID, token permissions and the task ID returned by PopGo |
| 503 no available account / 502 temporary service failure | Use bounded backoff; after a create timeout, check whether a task already exists |
| Successful video ignores the image | Check the actual reference_images payload and media access, then compare the frame/subject; a task ID alone proves nothing about reference use |
| Turbo with 4K or audio parameters | Remove unsupported parameters; use 720p / 1080p |
Download through PopGo's /content proxy or a usable result URL from the response. Allow sufficient time for large files and never send the PopGo API Key to a third-party media host. See Video task workflow for complete polling, download and retry examples. Pricing follows Models and pricing.