
HappyHorse 1.1 Text-to-Video
HappyHorse 1.1 Text-to-Video is Alibaba's next-generation AI text-to-video model. Built on an integrated audio-video joint generation architecture, it generates native 720P/1080P HD videos directly from text, supporting up to 15 seconds of rendering. It natively supports multilingual lip-sync, ambient sound effects, and audio-visual synchronization without extra dubbing, while delivering exceptional motion smoothness, subject consistency, and camera control—ideal for short dramas, commercial ads, and social media video production.
Read Me
HappyHorse 1.1 Text-to-Video API
Overview
HappyHorse 1.1 Text-to-Video is Alibaba's native multimodal AI video generation model (single-stream Transformer architecture) on iCreat: input a text prompt — optionally with a negative prompt and a first-frame reference image — to generate a short video clip with natively synchronized audio. Developers call ali/happyhorse-1-1/text-to-video through the async task queue, with 720P / 1080P output, five aspect ratios, and 4–15 second durations.
ali/happyhorse-1-1/text-to-videoCore Capabilities
Text-to-video generation. Drive video generation from a text prompt alone, no reference material required — ideal for quickly turning copy and creative descriptions into motion.
First-frame image reference. Pass an image via media[].type: first_frame to anchor the video's first frame (image-to-video style usage); the prompt describes how the scene unfolds.
Negative prompt. negative_prompt describes content that should not appear in the video, giving fine control over what the model avoids.
Native audio-video synchronization. Built on a single-stream Transformer that encodes text, image, video, and audio in one representation space, the model generates synchronized audio (ambience, music, sound effects) together with the visuals.
Dual resolution. 720P for cost-effective iteration; 1080P for sharper final delivery.
Five aspect ratios. 1:1, 9:16, 16:9, 3:4, and 4:3 cover square feeds, vertical short video, and landscape formats.
4–15 second durations. Short lengths tailored for teasers, loops, and social clips.
Watermark control. watermark defaults to false; enable it when an AI-generated mark is required.
Async task design. Submit → poll → retrieve keeps the workflow batch-friendly, fault-tolerant, and easy to integrate.
Model Comparison
HappyHorse 1.1 Text-to-Video vs Seedance 2.5 Text-to-Video vs Kling V3 Omni
| Field | HappyHorse 1.1 T2V | Seedance 2.5 T2V | Kling V3 Omni |
|---|---|---|---|
| Developer | Alibaba | ByteDance | Kuaishou |
| Max duration | 15 sec | 30 sec (multi-round extension) | 15 sec |
| Resolutions | 720P / 1080P | 480P / 720P | 720P / 1080P / 4K |
| Aspect ratios | 1:1, 9:16, 16:9, 3:4, 4:3 | 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive | 16:9, 9:16, 1:1 |
| Reference input | First-frame image (optional) | Text-driven (reference image optional) | Images, videos, characters |
| Negative prompt | Supported (negative_prompt) |
— | — |
| Native audio | Yes (native sync) | — | Yes |
| 5-second cost | $0.70 (720P) / $0.90 (1080P) | $0.70 (480p) / $1.52 (720p) | Std $0.42 |
| Best for | Cost-effective clips with native audio | Copy/script to video | Long narratives, multi-shot |
Input
The text prompt is required. The negative prompt and first-frame reference image are optional.
| Input | Count | Format | Notes |
|---|---|---|---|
| Text prompt | 1 | input.prompt |
Required; describes the video to generate |
| Negative prompt | 1 | input.negative_prompt |
Optional; describes content that should not appear |
| First-frame image | 1 | input.media[] |
Optional; type: first_frame + url |
Input Examples
Text-to-video
{
"input": {
"prompt": "一只奔跑的小猫",
"negative_prompt": "小猫不应沿直线奔跑"
},
"parameters": {
"resolution": "720P",
"ratio": "1:1",
"duration": 5,
"watermark": false
}
}Without negative prompt
{
"input": {
"prompt": "一只小猫在草地上奔跑",
"media": [
{
"type": "first_frame",
"url": "https://example.com/cat.jpg"
}
]
},
"parameters": {
"resolution": "1080P",
"ratio": "16:9",
"duration": 5,
"watermark": false
}
}Parameters
input fields
| Field | Type | Required | Description |
|---|---|---|---|
prompt |
string | Yes | Prompt describing the video to generate |
negative_prompt |
string | No | Describes content that should not appear in the video |
media |
object[] | No | List of reference media |
media[].type |
string | Yes | Media type. Use first_frame for the first-frame image |
media[].url |
string | Yes | URL of the reference image |
parameters fields
| Field | Type | Required | Description |
|---|---|---|---|
resolution |
string | Yes | Video resolution. Available values: 720P, 1080P |
ratio |
string | Yes | Video aspect ratio. Available values: 1:1, 9:16, 16:9, 3:4, 4:3 |
duration |
integer | Yes | Video duration in seconds. Range: 4–15 |
watermark |
boolean | No | Whether to add a watermark. Defaults to false |
Pricing
| Resolution | Unit Price (USD/second) | Cost for 5 Seconds | Cost for 15 Seconds |
|---|---|---|---|
| 720P | 0.14 | 0.70 | 2.10 |
| 1080P | 0.18 | 0.90 | 2.70 |
Total Cost = Unit Price × Output Video DurationQuick Start
This API uses an API Key for authentication. Get your API Key from https://icreat.ai/hub/keys.
Submit a request:
curl --fail-with-body --connect-timeout 10 --max-time 60 \
-X POST https://api.icreat.ai/v1/task/submit/ali/happyhorse-1-1/text-to-video \
-H "Authorization: Bearer ${ICREAT_API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"input": {
"prompt": "一只奔跑的小猫",
"negative_prompt": "小猫不应沿直线奔跑"
},
"parameters": {
"resolution": "720P",
"ratio": "1:1",
"duration": 5,
"watermark": false
}
}'The server will return:
{
"task_id": "task-xxx"
}Poll the task status:
curl --connect-timeout 10 --max-time 60 \
-X POST "https://api.icreat.ai/v1/task/query-status" \
-H "Authorization: Bearer ${ICREAT_API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"task_id": "task-xxx"
}'When the status is SUCCEEDED, retrieve the result:
curl --connect-timeout 10 --max-time 60 \
-X POST "https://api.icreat.ai/v1/task/get-result" \
-H "Authorization: Bearer ${ICREAT_API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"task_id": "task-xxx"
}'Output
submit → task_id → query-status (SUCCEEDED) → get-resultAfter submitting the request, poll query-status with the returned task_id until the status becomes SUCCEEDED, then call get-result with the same task_id to retrieve the generated video (with natively synchronized audio).
Use Cases
Social short clips. 4–15 second teasers, loops, and clips sized for feeds and stories, with the aspect ratio matched to each platform.
E-commerce product animation. Use a product image as the first frame and drive the camera or product motion with a prompt — turn static images into dynamic showcases.
Short drama and narrative clips. Native audio-video synchronization and consistent characters make the model well suited to short-drama and multi-scene narrative production.
Low-cost fast iteration. At $0.70 for a 720P 5-second clip, test multiple creative directions cheaply before investing in premium renders.
Limitations
Duration is limited to 4–15 seconds; longer narratives must be split across multiple requests and stitched in post.
Only 720P and 1080P resolutions are available.
The current interface exposes a single reference media type (first_frame); other reference inputs (multi-image reference, video reference) are not supported on this endpoint.
resolution, ratio, and duration are required fields and must be included in every request.
FAQ
How do I get an API Key?
Create one at https://icreat.ai/hub/keys and pass it via the Authorization: Bearer header.
Can I start generation from an image?
Yes. Pass the image via input.media with "type": "first_frame" and its URL; the video starts from that frame. The text prompt is still required to describe the motion.
What does negative_prompt do?
Describes content that should not appear — e.g. "小猫不应沿直线奔跑" — without touching the main prompt.
Is audio generated?
The model natively synchronizes audio with video. Audio is generated together with the visuals — no separate audio-generation request is required.
Is the watermark on by default?
No. watermark defaults to false; set it to true to add the AI-generated mark.
How is the cost calculated?
Total Cost = Unit Price × Output Video Duration. For example, a 10-second 1080P video costs 0.18 × 10 = $1.80.
720P or 1080P?
Use 720P for fast, low-cost iteration; use 1080P for final delivery that needs more visible detail.



