# Motion Video | 14B Animation is a pose-based video model that generates character motion from a single reference image, enabling smooth, alignment-free animation across different styles and environments. ## API Information - **Model Slug:** motion-video-14b - **Branded URL:** https://www.eachlabs.ai/eachlabs/motion/motion-video-14b - **Provider:** each::labs - **Category:** Image to Video - **Output Type:** video - **Status:** active - **Version:** 0.0.1 - **Estimated Processing Time:** 0 seconds - **Last Updated:** 2026-04-06 - **Interactive Demo:** https://www.eachlabs.ai/ai-models/motion-video-14b ## Pricing Pricing information not available. ## Input Schema | Parameter | Type | Required | Default | Constraints | Description | |-----------|------|----------|---------|-------------|-------------| | prompt | string | Yes | - | - | The prompt to generate the video from. | | negative_prompt | string | Yes | - | - | The negative prompt to generate the video from. | | image_url | string | Yes | - | - | The URL of the image to use as a reference for the video generation. | | video_url | string | Yes | - | - | The URL of the video to use as a reference for the video generation. | | resolution | string | No | 480p | 480p,580p,720p | The resolution of the video to generate. | | num_inference_steps | integer | No | 30 | 2–30 | The number of inference steps to use for the video generation. | | image_guidance_scale | number | No | 2 | 1–10 | The image guidance scale to use for the video generation. | | pose_guidance_scale | number | No | 1.5 | 1–10 | The pose guidance scale to use for the video generation. | ## 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": "motion-video-14b", "input": { "prompt": "A woman dancing", "video_url": "https://storage.googleapis.com/magicpoint/inputs/motion-video-14b-input-video.mp4", "image_url": "https://storage.googleapis.com/magicpoint/inputs/motion-video-14b-input.png", "negative_prompt": "black background, Aerial view, aerial view, overexposed, low quality, deformation, a poor composition, bad hands, bad teeth, bad eyes, bad limbs, distortion" } }' ``` ## 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 **motion-video-14b — Image-to-Video AI Model** motion-video-14b, developed by Eachlabs as part of the motion family, is a pose-based image-to-video AI model that animates characters from a single reference image, delivering smooth, alignment-free motion across diverse styles and environments. Unlike traditional video generation tools requiring precise pose matching, motion-video-14b uses advanced pose estimation to create natural character movements without manual keyframing, solving the challenge of consistent animation in dynamic scenes. Ideal for creators searching for "image to video AI model" or "best image-to-video AI", this 14B parameter model excels in generating short-form videos up to 10 seconds at resolutions like 512x512 or 1024x576, making it a go-to for "eachlabs image-to-video" workflows. ## 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.