# Kling v2 | Image to Video Kling v2 Image to Video generates polished videos from images, leveraging advanced algorithms for sharper visuals and smooth playback. ## API Information - **Model Slug:** kling-v2-image-to-video - **Branded URL:** https://www.eachlabs.ai/kling/kling-v2/kling-v2-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 $1.40. Each additional second costs $0.28. - **Estimated Processing Time:** 200 seconds - **Last Updated:** 2026-06-17 - **Interactive Demo:** https://www.eachlabs.ai/ai-models/kling-v2-image-to-video ## Pricing - **Charge Type:** dynamic - **Pricing Details:** A 5-second video costs $1.40. Each additional second costs $0.28. ### Pricing Rules | Condition | Pricing | | --- | --- | | Rule 1 | A 5-second video costs $1.40. Each additional second costs $0.28. | ## Input Schema | Parameter | Type | Required | Default | Constraints | Description | |-----------|------|----------|---------|-------------|-------------| | prompt | string | Yes | - | - | Prompt | | image_url | string | Yes | - | - | Image Url | | duration | string | No | 5 | 5,10 | The duration of the generated video in seconds | | aspect_ratio | string | No | 16:9 | 16:9,9:16,1:1 | The aspect ratio of the generated video frame | | negative_prompt | string | No | - | - | Negative Prompt | | cfg_scale | number | No | 0.5 | 0–1 | The CFG (Classifier Free Guidance) scale is a measure of how close you want the model to stick to your prompt. | ## Example Request ```bash curl -X POST https://api.eachlabs.ai/v1/prediction/ \ -H "X-API-Key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "kling-v2-image-to-video", "input": { "image_url": "https://storage.googleapis.com/magicpoint/inputs/kling-v2-i2v-input.webp", "prompt": "Slow cinematic camera movement forward through a neon-lit rainy Tokyo street at night, people walking slowly with transparent glowing umbrellas, gentle rain falling, reflections shimmering on wet asphalt, light fog drifting through the scene, neon signs flickering slightly, puddles rippling softly from raindrops, dynamic atmospheric lighting, natural smooth motion, cinematic depth of field." } }' ``` ## 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 "X-API-Key: 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 `X-API-Key` | | `404` | Unknown model or prediction id | | `429` | Rate limit — 100 creates / min, 10 concurrent per key | | `5xx` | Retry with backoff | ## Overview **kling-v2-image-to-video — Image-to-Video AI Model** Transform static images into dynamic, cinematic videos with **kling-v2-image-to-video**, the advanced image-to-video AI model from Kling's v2 family that excels in fluid motion and visual realism. Developers and creators seeking a reliable **image-to-video AI model** turn to kling-v2-image-to-video for its superior character consistency and support for first-frame conditioning, enabling precise animations from single images. Part of Kling's evolving lineup, this model delivers up to 1080p resolution videos with smooth playback, solving the challenge of bringing lifeless photos to life for marketing visuals, social media clips, or concept prototypes. ## Usage Notes - API Base URL: `https://api.eachlabs.ai/v1` - Authentication: send `X-API-Key: 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.