# Happy Horse Image-to-Video > Alibaba's #1-ranked Happy Horse 1.0 — generate 1080p video with synchronized native audio and multilingual lip-sync from text prompts or images. ## Overview - **Endpoint**: `https://api.runflow.io/v1/run/alibaba/happy-horse/image-to-video` - **Model ID**: `alibaba/happy-horse/image-to-video` - **Provider**: Alibaba - **License**: commercial - **Last Updated**: 2026-04-28 ## Pricing - **Base price**: $0.14/second - **Note**: Per second of generated video (720p baseline) ### Pricing rules - **resolution**: $0.28/second ## Input Schema ### `image_url` (image, required) URL of the first frame image. Formats: JPEG, JPG, PNG, BMP, WEBP. Dimensions must be at least 300px. Aspect ratio must be between 1:2.5 and 2.5:1. Max 10 MB. ### `duration` (integer, optional) Output video duration in seconds (3-15). - **Default**: `5` ### `prompt` (string, optional) Optional text prompt guiding the animation. Max 2500 characters. ### `enable_safety_checker` (boolean, optional) Enable content moderation for input and output. - **Default**: `true` ### `resolution` (string, optional) Output video resolution tier. - **Default**: `1080p` ### `seed` (integer, optional) Random seed for reproducibility (0-2147483647). ## Usage Examples ### cURL ```bash curl -X POST https://api.runflow.io/v1/run/alibaba/happy-horse/image-to-video \ -H "Authorization: Bearer $RUNFLOW_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "prompt": "A professional headshot, soft studio lighting", "image_url": "https://example.com/input.jpg" }' ``` ### Python ```python import requests response = requests.post( "https://api.runflow.io/v1/run/alibaba/happy-horse/image-to-video", headers={"Authorization": "Bearer RUNFLOW_API_KEY"}, json={ "prompt": "A professional headshot, soft studio lighting", "image_url": "https://example.com/input.jpg", }, ) data = response.json() print(data["video"]["url"]) ``` ### JavaScript ```javascript const response = await fetch( "https://api.runflow.io/v1/run/alibaba/happy-horse/image-to-video", { method: "POST", headers: { "Authorization": "Bearer RUNFLOW_API_KEY", "Content-Type": "application/json", }, body: JSON.stringify({ prompt: "A professional headshot, soft studio lighting", image_url: "https://example.com/input.jpg", }), } ); const data = await response.json(); console.log(data.video.url); ``` ## Additional Resources - [Playground](https://www.runflow.io/models/alibaba/happy-horse/image-to-video) - [API Reference](https://www.runflow.io/models/alibaba/happy-horse/image-to-video/api) - [Documentation](https://docs.runflow.io) - [OpenAPI](https://api.runflow.io/v1/openapi.json)