Skip to main content
POST
/
v1
/
ai
/
image-to-video
/
happy-horse-1
Happy Horse 1.0 - Create video from image
curl --request POST \
  --url https://api.magnific.com/v1/ai/image-to-video/happy-horse-1 \
  --header 'Content-Type: application/json' \
  --header 'x-magnific-api-key: <api-key>' \
  --data '
{
  "image_url": "https://example.com/start-frame.jpg",
  "webhook_url": "https://www.example.com/webhook",
  "prompt": "The character walks forward slowly with wind blowing through their hair",
  "resolution": "1080P",
  "duration": 5,
  "seed": 12345
}
'
{
  "data": {
    "generated": [],
    "task_id": "046b6c7f-0b8a-43b9-b35d-6489e6daee91",
    "status": "CREATED"
  }
}

Authorizations

x-magnific-api-key
string
header
required

Your Magnific API key. Required for authentication. Learn how to obtain an API key

Body

application/json

Animate a single image into video using Happy Horse 1.0. The image is used as the first frame; an optional text prompt guides motion and style.

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

Example:

"https://example.com/start-frame.jpg"

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.

Example:

"https://www.example.com/webhook"

prompt
string

Text prompt to guide the animation. Optional but recommended for better control over the generated video content.

Maximum string length: 2500
Example:

"The character walks forward slowly with wind blowing through their hair"

resolution
enum<string>
default:1080P

Output video resolution:

  • 720P: 720p HD (1280x720)
  • 1080P: 1080p Full HD (1920x1080)
Available options:
720P,
1080P
duration
enum<integer>
default:5

Duration of the generated video in seconds. One of: 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15.

Available options:
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.

Required range: 0 <= x <= 2147483647
Example:

12345

Response

OK - The task exists and the status is returned

data
object
required
Example:
{
"task_id": "046b6c7f-0b8a-43b9-b35d-6489e6daee91",
"status": "CREATED",
"generated": [
"https://openapi-generator.tech",
"https://openapi-generator.tech"
]
}