# Kling | v3 | 4K | Image to Video Kling Native 4K delivers professional-grade 4K video directly in a single pass, removing the need for post-production upscaling. ## API Information - **Model Slug:** kling-v3-4k-image-to-video - **Branded URL:** https://www.eachlabs.ai/kling/kling-v3/kling-v3-4k-image-to-video - **Provider:** Kling - **Category:** Image to Video - **Output Type:** video - **Status:** active - **Version:** 0.0.1 - **Base Cost:** Pricing is calculated per second of generated 4K video: $0.42/sec (no audio), $0.63/sec (with audio). Voice control unsupported on Kling 4K. - **Estimated Processing Time:** 250 seconds - **Last Updated:** 2026-07-06 - **Interactive Demo:** https://www.eachlabs.ai/ai-models/kling-v3-4k-image-to-video ## Pricing - **Charge Type:** dynamic - **Pricing Details:** Pricing is calculated per second of generated 4K video: $0.42/sec (no audio), $0.63/sec (with audio). Voice control unsupported on Kling 4K. ### Pricing Rules | Condition | Pricing | | --- | --- | | Rule 1 | Pricing is calculated per second of generated 4K video: $0.42/sec (no audio), $0.63/sec (with audio). Voice control unsupported on Kling 4K. | ## Input Schema No input parameters documented. ## Example Request ```bash curl -X POST https://api.eachlabs.ai/v1/prediction/ \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "kling-v3-4k-image-to-video", "input": {} }' ``` ## Output Schema Response returned by `GET /v1/prediction/{id}` when the job completes: ```json { "status": "success", "predictionID": "string", "output": "string (URL of generated video)", "metrics": { "predict_time": "number (seconds)" } } ``` ## Polling ```bash curl https://api.eachlabs.ai/v1/prediction/{PREDICTION_ID} \ -H "Authorization: Bearer YOUR_API_KEY" ``` | Status | Meaning | |--------|---------| | `processing` | Still running — poll again | | `success` | Done — read `output` | | `error` | Failed — read `message` / `details` | ## Webhook (alternative to polling) Pass `"webhook_url": "https://your.host/path"` in the create request. Eachlabs POSTs this payload when the job ends: ```json { "exec_id": "prediction-uuid", "status": "succeeded", "output": "https://...", "error": "" } ``` `status` is `"succeeded"` or `"failed"`. `exec_id` equals the `predictionID` from create. Return 2xx within 30 seconds. ## Errors Error body: `{ "status": "error", "message": "...", "details": "..." }` | Code | Meaning | |------|---------| | `400` | Invalid input | | `401` | Missing / invalid `Authorization` bearer token | | `404` | Unknown model or prediction id | | `429` | Rate limit — 100 creates / min, 10 concurrent per key | | `5xx` | Retry with backoff | ## Overview **Kling | v3 | 4K | Image to Video Overview** The **Kling | v3 | 4K | Image to Video** model from Kling transforms static images into dynamic, cinema-grade videos with native 4K resolution, solving the challenge of creating high-fidelity motion from single visuals without upscaling or post-production. Developed by Kuaishou as part of the Kling V3 family, this image-to-video (I2V) tool excels in preserving intricate details and generating realistic physics-driven animations up to 15 seconds long. Its primary differentiator is native 4K output directly from input images, enabling professional creators to produce hero assets with advanced motion control and optional end-frame conditioning for seamless transitions. Available through platforms like each::labs, the **Kling | v3 | 4K | Image to Video** supports both Standard and Pro tiers, where Pro delivers superior lighting, textures, and detail retention ideal for cinematic workflows. ## Usage Notes - API Base URL: `https://api.eachlabs.ai/v1` - Authentication: send `Authorization: Bearer YOUR_API_KEY`. Generate a key from the Eachlabs dashboard at https://www.eachlabs.ai/dashboard/api-keys. - File-typed parameters (`*_url`, `image_url`, `video_url`, `audio_url`, etc.) accept publicly-reachable HTTPS URLs only. Upload your asset first (GCS / S3 / your CDN) and pass the resulting URL. Data-URIs and localhost URLs are rejected. - For structured parameters (arrays / objects) send real JSON values, not stringified payloads. - Monetary values are reported in USD; per-token / per-megapixel rates may be billed in micro-cents internally. - Prefer `webhook_url` over polling for long-running predictions — see the Webhook Callback section.