Skip to main content
POST
/
v1
/
ai
/
reference-to-video
/
happy-horse-1
Happy Horse 1.0 - Create video from reference images
curl --request POST \
  --url https://api.magnific.com/v1/ai/reference-to-video/happy-horse-1 \
  --header 'Content-Type: application/json' \
  --header 'x-magnific-api-key: <api-key>' \
  --data '
{
  "prompt": "character1 and character2 walk together through a sunlit forest path",
  "image_urls": [
    {
      "url": "https://example.com/character1.jpg"
    }
  ],
  "webhook_url": "https://www.example.com/webhook",
  "aspect_ratio": "16:9",
  "resolution": "1080P",
  "duration": 5,
  "watermark": false,
  "seed": 12345
}
'
{
  "data": {
    "generated": [],
    "task_id": "046b6c7f-0b8a-43b9-b35d-6489e6daee91",
    "status": "CREATED"
  }
}

Documentation Index

Fetch the complete documentation index at: https://docs.magnific.com/llms.txt

Use this file to discover all available pages before exploring further.

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

Generate video guided by 1 to 9 reference images that define characters, objects or scenes using Happy Horse 1.0. In the prompt, reference each image by its 1-based positional index (character1, character2, ...). The order matches the array order.

prompt
string
required

Text prompt describing the desired elements and visual style of the generated video. Supports any language. Requests with prompts longer than 5000 characters are rejected by validation; the upstream provider further treats 5000 non-Chinese characters or 2500 Chinese characters as the effective ceiling.

Use character1, character2, ... in the prompt to reference the corresponding image in the image_urls array; the order matches the array order.

Example: "character1 and character2 walk together through a sunlit forest path"

Required string length: 1 - 5000
Example:

"character1 and character2 walk together through a sunlit forest path"

image_urls
object[]
required

Ordered array of reference images. Array position determines the character reference number in the prompt (1st item → character1, 2nd → character2, etc.).

Supported formats: JPEG, JPG, PNG, WEBP Recommended resolution: shortest side at least 400 px (720P or higher recommended) Maximum file size: 10 MB per image

Required array length: 1 - 9 elements
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"

aspect_ratio
enum<string>
default:16:9

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
Available options:
16:9,
9:16,
1:1,
4:3,
3:4
resolution
enum<string>
default:1080P

Output video resolution:

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

Duration of the generated video in seconds.

Required range: 3 <= x <= 15
Example:

5

watermark
boolean
default:false

Whether to add a watermark to the generated video. The watermark appears in the bottom-right corner with the fixed text "Happy Horse".

Example:

false

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"
]
}