# Kandinsky 5 | Pro | Image to Video Kandinsky 5.0 Pro is a diffusion-based model built for fast, high-quality image-to-video generation with smooth motion and consistent visuals. ## API Information - **Model Slug:** kandinsky5-pro-image-to-video - **Branded URL:** https://www.eachlabs.ai/sber/kandinsky5/kandinsky5-pro-image-to-video - **Provider:** sber - **Category:** Image to Video - **Output Type:** video - **Status:** active - **Version:** 0.0.1 - **Base Cost:** Applies when the input video resolution is 512P. Pricing is calculated based on the output duration with a rate of $0.04 per second. - **Estimated Processing Time:** 190 seconds - **Last Updated:** 2026-04-20 - **Interactive Demo:** https://www.eachlabs.ai/ai-models/kandinsky5-pro-image-to-video ## Pricing - **Charge Type:** dynamic - **Pricing Details:** Applies when the input video resolution is 512P. Pricing is calculated based on the output duration with a rate of $0.04 per second. ### Pricing Rules | Condition | Pricing | | --- | --- | | resolution == "512P" | Applies when the input video resolution is 512P. Pricing is calculated based on the output duration with a rate of $0.04 per second. | | resolution == "1024P" | Applies when the input video resolution is 1024P. Pricing is calculated based on the output duration with a rate of $0.12 per second. | ## Input Schema | Parameter | Type | Required | Default | Constraints | Description | |-----------|------|----------|---------|-------------|-------------| | prompt | string | Yes | - | - | The prompt to generate the video from. | | image_url | string | Yes | - | - | The URL of the image to use as a reference for the video generation. | | resolution | string | No | 512P | 512P,1024P | Video resolution: 512p or 1024p. | | num_inference_steps | integer | No | 28 | 1–40 | - | | acceleration | string | No | regular | none,regular | Acceleration level for faster generation. | ## 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": "kandinsky5-pro-image-to-video", "input": { "prompt": "“The steam train slowly moves forward along the curved railway track, following the river through the mountain valley. Soft smoke rises from the locomotive and drifts gently into the cool morning air. The trees subtly sway, and light mist rolls between the forest and the river. The camera remains steady with a slight cinematic push forward, emphasizing depth and scale. Sunlight softly breaks through the clouds, illuminating the mountains and reflecting on the water. Natural motion, realistic speed, calm and cinematic atmosphere.”", "image_url": "https://storage.googleapis.com/magicpoint/inputs/kandinsky5-pro-image-to-video-input.png" } }' ``` ## 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 **kandinsky5-pro-image-to-video — Image-to-Video AI Model** Transform static images into dynamic videos effortlessly with **kandinsky5-pro-image-to-video**, Sber's diffusion-based model from the Kandinsky5 family designed for fast, high-quality **image-to-video AI model** generation. This model excels in producing smooth motion and consistent visuals from a single input image, solving the challenge of creating engaging short-form content without complex animation tools. Developed by Sber, **kandinsky5-pro-image-to-video** stands out in the **Sber image-to-video** lineup by prioritizing speed and visual fidelity, making it ideal for users seeking quick **image to video AI** conversions. Whether you're animating product shots or creative concepts, it delivers professional results in seconds, streamlining workflows for creators and developers. ## 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.