Alibaba Happyhorse 1.1 Image To Video
Playground
Try it on WavespeedAI!Alibaba HappyHorse 1.1 Image to Video animates a reference image into a cinematic 720P or 1080P video, with optional text prompt guidance, smooth camera movement, and expressive, stable motion. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
Features
Alibaba Happy Horse 1.1 Image-to-Video
Alibaba Happy Horse 1.1 Image-to-Video animates a reference image into a cinematic video with optional text guidance for motion, camera movement, and scene direction. It supports 720p and 1080p output, while preserving the reference image’s subject, composition, and visual style.
Why Choose This?
-
Image-faithful generation
Preserves the reference image’s subject, composition, and style while adding motion. -
Optional prompt guidance
Describe the camera movement, mood, action, and scene development in plain language. -
Cinematic motion
Generate smooth, expressive motion with stable subject preservation. -
Flexible resolution options
Choose720pfor standard generation or1080pfor higher-resolution output. -
Production-ready API
Use REST inference for image-to-video generation workflows.
Parameters
| Parameter | Required | Description |
|---|---|---|
| image | Yes | First-frame image URL. Supported formats: JPEG, PNG, BMP, WEBP. Minimum dimension: 300 px. Aspect ratio: 1:2.5 to 2.5:1. Maximum file size: 10 MB. |
| prompt | No | Optional text prompt guiding the animation. Maximum length: 2500 characters. |
| resolution | No | Output resolution: 720p or 1080p. Default: 720p. |
| duration | No | Video length in seconds. Supported range: 3 to 15. Default: 5. |
| seed | No | Random seed for reproducibility. Supported range: 0 to 2147483647. |
How to Use
- Upload image — Provide a first-frame image URL.
- Add prompt guidance (optional) — Describe the desired motion, camera behavior, mood, or action.
- Select resolution — Choose
720por1080p. - Set duration — Choose a duration from
3to15seconds. - Set seed (optional) — Use a fixed seed for reproducible results.
- Generate — Create the image-to-video output.
Pricing
Pricing scales linearly with duration.
| Resolution | Per 5s | Per second |
|---|---|---|
| 720p | $0.70 | $0.14 |
| 1080p | $0.945 | $0.189 |
Examples (5s):
| Resolution | Cost |
|---|---|
| 720p | $0.70 |
| 1080p | $0.945 |
Examples (10s):
| Resolution | Cost |
|---|---|
| 720p | $1.40 |
| 1080p | $1.89 |
Best Use Cases
- Image-to-video animation — Animate a reference image into a short video.
- Cinematic motion generation — Add smooth camera movement and scene motion to a still image.
- Character and subject animation — Preserve the main subject while generating natural motion.
- Creative video previews — Create short visual clips from concept images or storyboards.
- Social media content — Generate short-form video assets from still images.
Pro Tips
- Use a clear first-frame image with the main subject visible.
- Keep the prompt focused on motion, camera behavior, and scene development.
- Use
720pfor standard generation and lower cost. - Use
1080pwhen higher-resolution output is needed. - Use a fixed
seedwhen you want more reproducible results. - Make sure the input image matches the desired output composition.
Related Models
- Alibaba Happy Horse 1.1 Text-to-Video — Generate video directly from text.
Authentication
For authentication details, please refer to the Authentication Guide.
API Endpoints
Submit Task & Query Result
# Submit the task
curl --location --request POST "https://api.wavespeed.ai/api/v3/alibaba/happyhorse-1.1/image-to-video" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
"resolution": "720p",
"duration": 5
}'
# Get the result
curl --location --request GET "https://api.wavespeed.ai/api/v3/predictions/${requestId}/result" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}"
Parameters
Task Submission Parameters
Request Parameters
| Parameter | Type | Required | Default | Range | Description |
|---|---|---|---|---|---|
| prompt | string | Yes | - | Optional text prompt guiding the animation. Max 2500 characters. | |
| image | string | Yes | - | URL of the first-frame image. JPEG / PNG / BMP / WEBP. Min dimension 300px. Aspect ratio between 1:2.5 and 2.5:1. Max 10 MB. | |
| resolution | string | No | 720p | 720p, 1080p | Output video resolution. |
| duration | integer | No | 5 | 3 ~ 15 | Video length in seconds (3-15). |
| seed | integer | No | - | -1 ~ 2147483647 | Random seed for reproducibility. |
Response Parameters
| Parameter | Type | Description |
|---|---|---|
| code | integer | HTTP status code (e.g., 200 for success) |
| message | string | Status message (e.g., “success”) |
| data.id | string | Unique identifier for the prediction, Task Id |
| data.model | string | Model ID used for the prediction |
| data.outputs | array | Array of URLs to the generated content (empty when status is not completed) |
| data.urls | object | Object containing related API endpoints |
| data.urls.get | string | URL to retrieve the prediction result |
| data.status | string | Status of the task: created, processing, completed, or failed |
| data.created_at | string | ISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”) |
| data.error | string | Error message (empty if no error occurred) |
| data.timings | object | Object containing timing details |
| data.timings.inference | integer | Inference time in milliseconds |
Result Request Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| id | string | Yes | - | Task ID |
Result Response Parameters
| Parameter | Type | Description |
|---|---|---|
| code | integer | HTTP status code (e.g., 200 for success) |
| message | string | Status message (e.g., “success”) |
| data | object | The prediction data object containing all details |
| data.id | string | Unique identifier for the prediction, the ID of the prediction to get |
| data.model | string | Model ID used for the prediction |
| data.outputs | object | Array of URLs to the generated content (empty when status is not completed). |
| data.urls | object | Object containing related API endpoints |
| data.urls.get | string | URL to retrieve the prediction result |
| data.status | string | Status of the task: created, processing, completed, or failed |
| data.created_at | string | ISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”) |
| data.error | string | Error message (empty if no error occurred) |
| data.timings | object | Object containing timing details |
| data.timings.inference | integer | Inference time in milliseconds |