Skip to main content
POST
/
v1
/
ai
/
video-edit
/
happy-horse-1
Happy Horse 1.0 - Edit video
curl --request POST \
  --url https://api.magnific.com/v1/ai/video-edit/happy-horse-1 \
  --header 'Content-Type: application/json' \
  --header 'x-magnific-api-key: <api-key>' \
  --data '
{
  "video_url": "https://example.com/input-video.mp4",
  "prompt": "Replace the background with a futuristic cityscape at night",
  "webhook_url": "https://www.example.com/webhook",
  "image_urls": [
    "https://example.com/reference1.jpg"
  ],
  "resolution": "1080P",
  "audio_setting": "auto",
  "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

Edit an existing video using natural-language instructions with Happy Horse 1.0, optionally guided by up to 5 reference images. Reference images from the prompt using @Image1..@Image5 tokens (1-based, in array order). Output is capped at 15 seconds.

video_url
string<uri>
required

URL of the source video to be edited.

Supported formats: MP4, MOV with H.264 codec Duration: between 3 and 60 seconds (the output is capped at 15 seconds) Frame rate: greater than 8 fps Dimensions: longer side at most 2160 px and shorter side at least 320 px Aspect ratio: between 1:2.5 and 2.5:1 Maximum file size: 100 MB

Example:

"https://example.com/input-video.mp4"

prompt
string
required

Text prompt describing the desired editing instructions. To reference an image from image_urls inside the prompt, use the tokens @Image1..@Image5 (1-based, matching the array order).

Example: "Replace the background with a futuristic cityscape at night"

Required string length: 1 - 2500
Example:

"Replace the background with a futuristic cityscape at night"

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"

image_urls
string<uri>[]

Up to 5 reference images that guide the edit. Reference them from the prompt using @Image1..@Image5 (1-based, in array order).

Supported formats: JPEG, JPG, PNG, WEBP Minimum dimension: 300 px Aspect ratio: between 1:2.5 and 2.5:1 Maximum file size: 10 MB per image

Maximum array length: 5
Example:
["https://example.com/reference1.jpg"]
resolution
enum<string>
default:1080P

Output video resolution:

  • 720P: 720p HD (1280x720)
  • 1080P: 1080p Full HD (1920x1080)
Available options:
720P,
1080P
audio_setting
enum<string>
default:auto

Audio handling mode for the edited video:

  • auto: The model decides whether to regenerate audio based on the prompt — if the prompt involves audio descriptions, audio may be regenerated; otherwise the original audio is preserved
  • origin: Force-preserve the input video's original audio without regeneration
Available options:
auto,
origin
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"
]
}