Happy Horse 1.1
Happy Horse 1.1 (alibaba/happyhorse-1.1) is an Alibaba video model: text- and frame-to-video with reference images. Great for dynamic scenes. Generation is asynchronous: POST /v1/videos returns a job, then you poll the status and download the mp4.
Parameters
Section titled “Parameters”| Field | Description |
|---|---|
model |
alibaba/happyhorse-1.1 (the short happyhorse-1.1 or the alias happyhorse) |
prompt |
Scene description, required |
seconds |
Any integer from 3 to 15; defaults to 3 |
size |
A WxH size from the table below; defaults to 1280x720 |
input_reference |
Image-to-video: one image as the starting frame, {"image_url": "data:image/...;base64,..."} |
input_references |
Reference-to-video: 2 to 9 images as an array, also data: URLs only |
seed |
Reproducibility seed: an integer in 0…2147483647. The same prompt with the same seed yields the same clip; without it the upstream picks a random one |
Fourteen allowed sizes — seven aspect ratios at two resolutions:
| Aspect | 720p | 1080p |
|---|---|---|
1:1 |
720x720 |
1080x1080 |
16:9 |
1280x720 |
1920x1080 |
9:16 |
720x1280 |
1080x1920 |
4:3 |
960x720 |
1440x1080 |
3:4 |
720x960 |
1080x1440 |
21:9 |
1680x720 |
2520x1080 |
9:21 |
720x1680 |
1080x2520 |
A value outside the list returns 400 with the allowed options listed — check the sizes field in the catalog when in doubt.
Examples
Section titled “Examples”Text-to-video
Section titled “Text-to-video”import requests
job = requests.post( "https://api.mixen.ai/v1/videos", headers={"Authorization": f"Bearer {API_KEY}"}, json={ "model": "alibaba/happyhorse-1.1", "prompt": "A boxer works a punch bag with a flurry of strikes, sweat spraying, rapid cuts between angles", "seconds": "6", "size": "1280x720", },).json()print(job["id"], job["status"])curl https://api.mixen.ai/v1/videos \ -H "Authorization: Bearer $MIXEN_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "alibaba/happyhorse-1.1", "prompt": "A boxer works a punch bag with a flurry of strikes, sweat spraying, rapid cuts between angles", "seconds": "6", "size": "1280x720" }'Image-to-video from a starting frame
Section titled “Image-to-video from a starting frame”The image goes in as a single data: URL — external links are not accepted:
import base64import requests
with open("hero.jpg", "rb") as f: img = "data:image/jpeg;base64," + base64.b64encode(f.read()).decode()
job = requests.post( "https://api.mixen.ai/v1/videos", headers={"Authorization": f"Bearer {API_KEY}"}, json={ "model": "alibaba/happyhorse-1.1", "prompt": "The hero bolts and vaults over an obstacle, sharp dynamic motion", "seconds": "8", "size": "1280x720", "input_reference": {"image_url": img}, },).json()print(job["id"], job["status"])In image modes Happy Horse inherits the frame format of the input image — see the limits below.
Reference-to-video from several images
Section titled “Reference-to-video from several images”Two to nine references:
{ "model": "alibaba/happyhorse-1.1", "prompt": "The character from the first frame sprints through the location from the second, camera in pursuit", "seconds": "6", "size": "1280x720", "input_references": [ "data:image/png;base64,iVBORw0...", "data:image/png;base64,iVBORw0..." ]}From there it is the usual loop: GET /v1/videos/{id} every 5–10 seconds until completed, then GET /v1/videos/{id}/content for the mp4. Full cycle — video guide.
Billing is per second and depends on the resolution: 720p — 13.2089 ₽ ($0.1482) per second, 1080p — 17.086 ₽ ($0.1917). You are charged actual duration × the size’s rate. Current prices — catalog.
Strengths and limits
Section titled “Strengths and limits”- Dynamic scenes are the model’s home turf: motion, action, cuts between angles.
- Durations from 3 to 15 seconds — a continuous range, not fixed buttons.
- Seven frame formats, including the cinematic
21:9and9:21. - Image-to-video from a starting frame and reference-to-video from 2–9 images.
- In image modes (starting frame or references) the model inherits the aspect ratio of the input image and ignores the format from
size— that is why the web form hides the format picker for Happy Horse in those modes. The selected resolution sets the rate, not the output geometry; the model honors an exact size only in text-to-video. - The first-to-last frame transition is not supported — only the starting frame can be passed.
All models — in the catalog. The general video workflow — video guide.