# HappyHorse 1.0 API on MLMux

> Alibaba HappyHorse 1.0 for video from text, a first frame, or reference images at 720p or 1080p.

- Model page: https://www.mlmux.com/alibaba/happyhorse-1.0
- API model ID: `alibaba/happyhorse-1.0`
- Provider: Alibaba
- Generation modes: Text to video, Image to video, Multimodal reference
- Endpoint: `POST https://api.mlmux.com/v1/videos/generations`
- Reference images: up to 9
- Resolutions: 720p, 1080p
- Aspect ratios: 16:9, 9:16, 1:1, 4:3, 3:4
- Duration: 3 to 15 seconds

## Pricing

Pay as you go in credits; 1 credit = 1 US dollar, with no subscription. `official-cheap` is the default route.

- 720p: $0.138 on `official`, $0.125 on `official-cheap` per second of output video
- 1080p: $0.246 on `official`, $0.222 on `official-cheap` per second of output video

## Request

Send your API key as `Authorization: Bearer $MLMUX_API_KEY`. Create keys at https://www.mlmux.com/console/api-keys.

```bash
curl https://api.mlmux.com/v1/videos/generations \
  -H "Authorization: Bearer $MLMUX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "alibaba/happyhorse-1.0",
  "route_mode": "official-cheap",
  "prompt": "A red fox walks through fresh snow at sunrise, slow tracking shot, cinematic light",
  "mode": "text_to_video",
  "ratio": "16:9",
  "resolution": "720p",
  "duration": 5
}'

# The response is a task. Poll it until "status" is "succeeded", then read "video".
curl https://api.mlmux.com/v1/videos/generations/TASK_ID \
  -H "Authorization: Bearer $MLMUX_API_KEY"
```

```python
import os
import time
import requests

headers = {"Authorization": f"Bearer {os.environ['MLMUX_API_KEY']}"}
response = requests.post(
    "https://api.mlmux.com/v1/videos/generations",
    headers=headers,
    json={
      "model": "alibaba/happyhorse-1.0",
      "route_mode": "official-cheap",
      "prompt": "A red fox walks through fresh snow at sunrise, slow tracking shot, cinematic light",
      "mode": "text_to_video",
      "ratio": "16:9",
      "resolution": "720p",
      "duration": 5
    },
    timeout=300,
)
response.raise_for_status()
task = response.json()

while task["status"] not in ("succeeded", "failed", "expired", "canceled"):
    time.sleep(5)
    task = requests.get("https://api.mlmux.com" + task["poll_url"], headers=headers, timeout=30).json()

print(task["status"], task.get("video"))
```

The response is a task. Poll its `poll_url` every few seconds until `status` is `succeeded`, then read the video URL, or receive a webhook when it finishes.

## Frequently asked questions

### What is HappyHorse 1.0?

HappyHorse 1.0 is a video generation model from Alibaba. On MLMux you can run it in the browser or call it through one API. Alibaba HappyHorse 1.0 for video from text, a first frame, or reference images at 720p or 1080p.

### How do I use the HappyHorse 1.0 API?

Create an API key in the MLMux Console, then send a POST request to https://api.mlmux.com/v1/videos/generations with the key in the Authorization header and model set to alibaba/happyhorse-1.0. The request returns a task: poll it, or receive a webhook when the video is ready.

### What can HappyHorse 1.0 do?

Generation modes: Text to video, Image to video, and Multimodal reference. Clips run 3 to 15 seconds at 720p or 1080p, in aspect ratios such as 16:9, 9:16, 1:1, 4:3, and 3:4, with up to 9 reference images.

### How much does HappyHorse 1.0 cost?

MLMux is pay as you go, with no subscription or monthly fee, and 1 credit equals 1 US dollar. One second of 720p HappyHorse 1.0 video costs $0.125 on the default official-cheap route and $0.138 on the official route. Rates for every resolution are listed in the pricing section of this page.

### Can I try HappyHorse 1.0 without writing code?

Yes. Sign in and use the playground at the top of this page to run HappyHorse 1.0 with the same settings as the API. The playground's code views show the matching request for your settings, and the quick start below has copy-paste examples in cURL, Python, and JavaScript.

## More

- Video API guide: https://www.mlmux.com/docs/videos
- Pricing for every model: https://www.mlmux.com/pricing
- All models: https://www.mlmux.com/llms.txt
