---
title: "Happy Horse 1.0 - Create video from text"
method: POST
path: "/v1/ai/text-to-video/happy-horse-1"
tags: ["text-to-video"]
---

# Happy Horse 1.0 - Create video from text

`POST /v1/ai/text-to-video/happy-horse-1`

## Request

- Base URL: `https://api.magnific.com`
- URL: `https://api.magnific.com/v1/ai/text-to-video/happy-horse-1`
- Auth: API key in header `x-magnific-api-key`

Generate a high-quality AI video from a text prompt using Happy Horse 1.0, Alibaba's text-to-video model ranked #1 on the Artificial Analysis Video Arena (April 2026). Supports configurable aspect ratios (16:9, 9:16, 1:1, 4:3, 3:4), resolutions (720P, 1080P), and duration from 3 to 15 seconds.

**Key features:**
- 720P and 1080P resolution support
- 5 aspect ratio options
- Duration: 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, or 15 seconds
- Prompt up to 2500 characters

## Request body

- T2vRequest1: Generate video from a text prompt using Happy Horse 1.0. Supports configurable aspect ratios (16:9, 9:16, 1:1, 4:3, 3:4), resolutions (720P, 1080P), and duration from 3 to 15 seconds.
  - `webhook_url` string, uri: Optional callback URL that will receive asynchronous notifications whenever the task changes status. The payload sent to this URL is the same as the corresponding GET endpoint response, but without the data field.
  - `prompt` string, required: Text prompt describing the desired video content. Describe the scene, characters, motion, camera movements, lighting, and style in detail for best results. **Tips:** - Be specific about scenes and visual details - Describe camera movements (zoom, pan, tilt) - Mention lighting and atmosphere
  - `aspect_ratio` '16:9' | '9:16' | '1:1' | '4:3' | '3:4': Output video aspect ratio: - `16:9`: Landscape (widescreen) - `9:16`: Portrait (vertical, mobile-optimized) - `1:1`: Square - `4:3`: Standard landscape - `3:4`: Standard portrait
  - `resolution` '720P' | '1080P': Output video resolution: - `720P`: 720p HD (1280x720) - `1080P`: 1080p Full HD (1920x1080)
  - `duration` 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15: Duration of the generated video in seconds. One of: 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15.
  - `seed` integer: Random seed for reproducibility. Use the same seed with identical parameters to improve reproducibility (does not guarantee identical results). Leave unset for a random seed.

## Response `200`

OK - The task exists and the status is returned

- InlineObject4
  - `data` TaskDetail1, required
    - `task_id` string, uuid, required: Task identifier
    - `status` 'CREATED' | 'IN_PROGRESS' | 'COMPLETED' | 'FAILED', required: Task status
    - `generated` string[], required

## Other responses

- `400`: Bad Request - The server could not understand the request due to invalid syntax.
- `401`: Unauthorized - The client must authenticate itself to get the requested response.
- `500`: Internal Server Error - The server has encountered a situation it doesn't know how to handle.
- `503`: Service Unavailable

---

[API](https://skmtc.dev/magnific/apis/magnific-api.md) · [All operations](https://skmtc.dev/magnific/apis/magnific-api/llms.txt) · [OpenAPI document](https://skmtc.dev/magnific/apis/magnific-api/revisions/60711fb082c7?raw)
