Alibaba Happyhorse 1.0 Text To Video
Playground
Try it on WavespeedAI!Alibaba Happy Horse 1.0 (Text-to-Video) generates cinematic 720p / 1080p videos from text prompts with smooth camera movement, expressive motion, and strong prompt fidelity. Ready-to-use REST API, best performance, no coldstarts, affordable pricing.
Features
Alibaba Happy Horse 1.0 Text-to-Video
Alibaba Happy Horse 1.0 Text-to-Video turns natural-language prompts into cinematic videos with smooth motion, strong prompt alignment, and stable subject rendering. It supports both 720p and 1080p output, along with multiple aspect ratios for ad creatives, social content, storytelling, and concept work.
- Need to animate a reference image instead? Try Alibaba Happy Horse 1.0 Image-to-Video.
Why Choose This?
-
Strong prompt fidelity Follows detailed instructions for scene composition, action, lighting, mood, and camera movement.
-
Cinematic motion Generates smooth, expressive motion with stable subjects and polished visual dynamics.
-
Flexible aspect ratios Supports
16:9,9:16,1:1,4:3, and3:4for landscape, portrait, and square video formats. -
Resolution options for different needs Choose
720pfor lower-cost iteration or1080pfor higher-quality final outputs. -
Production-ready API Access the model through a REST inference API with no cold starts for easy integration into creative workflows.
Parameters
| Parameter | Required | Description |
|---|---|---|
| prompt | Yes | Text prompt describing the desired video. Maximum 2500 characters. |
| aspect_ratio | No | Output aspect ratio: 16:9 (default), 9:16, 1:1, 4:3, or 3:4. |
| resolution | No | Output resolution: 720p (default) or 1080p. |
| duration | No | Video length in seconds. Range: 3–15, default 5. |
| seed | No | Random seed for reproducibility. Range: 0–2147483647. |
How to Use
- Write your prompt — describe the scene, subject, action, camera movement, lighting, and mood.
- Choose aspect ratio — select the format that best matches your target platform or creative layout.
- Choose resolution — use
720pfor faster, cheaper iteration or1080pfor higher-quality outputs. - Set duration — choose a clip length between
3and15seconds. - Set a seed (optional) — use a fixed seed if you want more reproducible results.
- Submit — generate and download your video.
Example Prompt
A cinematic street scene at night, light rain falling, soft reflections on wet pavement, a stylish woman walking slowly toward the camera, gentle dolly-in movement, neon glow, shallow depth of field, elegant and atmospheric mood
Pricing
Per 5 Seconds
| Resolution | Cost |
|---|---|
| 720p | $0.70 |
| 1080p | $1.40 |
Example Costs
| Resolution | 3s | 5s | 10s | 15s |
|---|---|---|---|---|
| 720p | $0.42 | $0.70 | $1.40 | $2.10 |
| 1080p | $0.84 | $1.40 | $2.80 | $4.20 |
Billing Rules
- Base price:
720pcosts $0.70 per 5 seconds - 1080p surcharge:
1080pcosts 2× the720prate - Total price formula:
total_price = 0.70 × (resolution == "1080p" ? 2 : 1) × duration / 5
Best Use Cases
- Ad creatives — Generate short cinematic promo videos from detailed campaign concepts.
- Social media content — Create scroll-stopping vertical, square, or landscape videos for different platforms.
- Concept visualization — Turn written ideas into motion previews for pitching, ideation, or storyboarding.
- Brand storytelling — Build polished mood-driven clips with specific lighting, movement, and atmosphere.
- Creative prototyping — Explore different visual directions quickly before committing to full production.
- Short-form cinematic scenes — Generate expressive clips for teasers, motion concepts, and narrative experiments.
Pro Tips
- Be specific in your prompt about subject, action, camera movement, lighting, and mood.
- Mention visual style clearly, such as cinematic, commercial, dreamy, realistic, or editorial.
- Use
720pfor rapid testing, then switch to1080pfor final-quality renders. - Pick the aspect ratio based on the final destination:
9:16for short-form mobile,16:9for widescreen, and1:1for square layouts. - Reuse the same
seedwhen you want more reproducible outputs. - Start with shorter durations to validate motion and composition before generating longer clips.
Notes
promptis the only required field.- Supported aspect ratios are
16:9,9:16,1:1,4:3, and3:4. - Supported resolutions are
720pand1080p. - Supported video duration is
3–15 seconds. - Pricing scales linearly with
duration. 1080ppricing is exactly 2× the720prate.
Related Models
- Alibaba Happy Horse 1.0 Image-to-Video — Animate a reference image into a cinematic video clip.
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.0/text-to-video" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
"aspect_ratio": "16:9",
"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 | - | Text prompt describing the desired video. Max 2500 characters. | |
| aspect_ratio | string | No | 16:9 | 16:9, 9:16, 1:1, 4:3, 3:4 | The aspect ratio of the generated video. |
| 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.has_nsfw_contents | array | Array of boolean values indicating NSFW detection for each output |
| 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 |