# Kling v2.1 | Pro | Image to Video Kling 2.1 Pro: An advanced version of the Kling 2.1 model that creates high-quality videos with sharp visuals, smooth camera movements, and dynamic motion—ideal for cinematic storytelling. ## API Information - **Model Slug:** kling-v2-1-pro-image-to-video - **Branded URL:** https://www.eachlabs.ai/kling/kling-v2-1/kling-v2-1-pro-image-to-video - **Provider:** Kling - **Category:** Image to Video - **Output Type:** video - **Status:** active - **Version:** 0.0.1 - **Base Cost:** A 5-second video costs $0.49. Each additional second costs $0.098. - **Estimated Processing Time:** 90 seconds - **Last Updated:** 2026-07-13 - **Interactive Demo:** https://www.eachlabs.ai/ai-models/kling-v2-1-pro-image-to-video ## Pricing - **Charge Type:** dynamic - **Pricing Details:** A 5-second video costs $0.49. Each additional second costs $0.098. ### Pricing Rules | Condition | Pricing | | --- | --- | | Rule 1 | A 5-second video costs $0.49. Each additional second costs $0.098. | ## Input Schema | Parameter | Type | Required | Default | Constraints | Description | |-----------|------|----------|---------|-------------|-------------| | prompt | string | Yes | - | - | - | | image_url | string | Yes | - | - | - | | duration | integer | No | 5 | 5,10 | - | | negative_prompt | string | No | - | - | - | | cfg_scale | number | No | 0.5 | 0–1 | - | | tail_image_url | string | No | - | - | URL of the image to be used for the end of the video | ## 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-v2-1-pro-image-to-video", "input": { "image_url": "https://storage.googleapis.com/magicpoint/inputs/kling-v2.1-pro-i2v-input.jpg", "prompt": "A jet roars past with a powerful sonic boom, subtle ground shake, and a fleeting silence." } }' ``` ## 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-v2-1-pro-image-to-video — Image-to-Video AI Model** Transform static images into cinematic videos with **kling-v2-1-pro-image-to-video**, the advanced Pro variant in Kling's kling-v2.1 family designed specifically for image-to-video generation. Developed by Kling, this model excels in creating high-quality 1080p videos up to 10 seconds long, featuring sharp visuals, smooth camera movements, and dynamic motion for professional storytelling. Unlike standard models, kling-v2-1-pro-image-to-video supports both first- and last-frame conditioning, enabling precise control over video start and end points for seamless transitions and loops—ideal for developers seeking a robust **image-to-video AI model** or creators building "Kling image-to-video" workflows. Access this powerful tool via Eachlabs to animate product photos, concept art, or portraits into engaging MP4 outputs, streamlining content creation for marketing and design teams searching for "image to video AI API". ## 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.