Skip to main content

HappyHorse

HappyHorse is Alibaba Cloud’s second video model line, beside Wan. Each version generates a clip from a text prompt, from a still image, or from a set of reference images, and always scores the clip itself. Generation is asynchronous. You submit a task, poll it until the status is terminal, then download the clip. The route mirrors Alibaba Cloud’s own API, so the request and response shapes are the provider’s.
Best for
  • Sound without a switch. Every clip arrives with a generated soundtrack, so there is no audio decision to make.
  • Reference-driven scenes. Up to nine reference images carry a subject into new footage.
  • Draft passes. HappyHorse 1.1 sells a 480P tier that 1.0 does not.
  • Steady camera work. Tracking shots, slow push-ins and pans, with the motion described in the prompt.

Models

Durations are whole seconds. Each version has one model ID per task. Both versions take the same request shape. Only the model value changes. HappyHorse 1.1 is the current line, and the only one with a 480P tier. Use it for drafts and for the final render. HappyHorse 1.0 is the earlier line at 720P and 1080P. Image-to-video takes a first frame only. There is no end frame. Reference-to-video takes images only. There is no container for a reference clip or a reference track.

Endpoints

HappyHorse shares the two routes and the body shape of Wan. The tier goes in parameters.resolution, and frames and references go in input.media[].

Request

Send your API key in the X-API-Key header. See Authentication. Set Content-Type: application/json. The examples also send a User-Agent header that names your application.
string
required
The model ID from the table above. The ID names both the version and the task.
object
required
The prompt and the media items.
object
The generation controls. All tasks read all three fields.
There is no audio parameter. The model scores every clip, and no field turns that off.

Response

Submit

A 200 status means that the provider accepted the task. It does not mean that the clip is ready.
object
required

Poll

string
required
PENDING or RUNNING while the task runs. SUCCEEDED, FAILED or CANCELED when it ends. Poll until you read one of the three terminal values.
string
The URL of the clip. Present only when task_status is SUCCEEDED. The task ID and the URL expire after 24 hours. Download the clip as soon as the task succeeds.
string
The failure code. Present when the task failed.
string
The failure message. Read it before you resubmit.

Example

Submit, poll, download. Swap the model value for the version and task you want.
To animate a still, add a first_frame item to input.media[] and send an -i2v model ID. To carry a subject into a new scene, add reference_image items and send an -r2v model ID. A first frame and a reference set are separate tasks. The bodies below replace the submit body in the example.

Tips

  • Say what moves and how the camera follows it. The prompt drives both.
  • Send watermark: false on every request unless you want the mark. The vendor’s default adds it.
  • Send resolution and duration on every request. The defaults are 1080P and 5 seconds, and 1080P is the most expensive tier.
  • Draft at 480P on HappyHorse 1.1, then re-run the prompt at the tier and length you need. You are billed per second of output, and 1080P costs more per second than 720P.
  • Give a reference set images that agree on the subject. Images that disagree pull the result in different directions.
  • Name the references in the prompt when the set holds different subjects, so each image has a stated role in the shot.
  • Poll every 5 seconds at first, then back off to 30 seconds. Polls are free and never use a concurrency slot.

Errors and limits

A 200 status on submit means that the provider accepted the task. It does not mean that the task succeeded. A task that fails later ends with task_status set to FAILED or CANCELED, and output.message explains why. Read the message before you resubmit. A failed submit returns an HTTP error status. The body carries code, message and request_id. See Error codes. A 5xx status or a timeout on submit does not tell you whether the task was created. Never resubmit blindly. If the submit returned a task_id, poll it. If it returned nothing, check your credits before you try again. Alibaba Cloud applies these limits to the images you attach:
  • A first frame on image-to-video: at least 300 pixels on each side, an aspect ratio between 1:2.5 and 2.5:1, JPEG, JPG, PNG or WEBP, up to 20 MB.
  • A reference image on reference-to-video: at least 400 pixels on the short side, JPEG, JPG, PNG or WEBP, up to 20 MB, one to nine images per request.
Every task counts toward the simultaneous-jobs cap of your plan. See Rate limits. Rates are per second of output and depend on the tier. See Credits & pricing and the Partner models overview.