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

# Happy Horse 1.1 - Create video from image

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

## Request

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

Animate a single image into a high-quality AI video using Happy Horse 1.1, Alibaba's image-to-video model. The image is used as the first frame and an optional text prompt guides motion and style.

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

## Request body

- I2vRequest2: Animate a single image into video using Happy Horse 1.1. The image is used as the first frame; an optional text prompt guides motion and style.
  - `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.
  - `image_url` string, uri, required: URL of the image to use as the first frame for image-to-video generation. **Supported formats:** JPEG, JPG, PNG, BMP, WEBP **Pixel dimensions:** at least 300px (width and height) **Aspect ratio:** between 1:2.5 and 2.5:1 **Maximum file size:** 10 MB
  - `prompt` string: Text prompt to guide the animation. Optional but recommended for better control over the generated video content.
  - `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)
