curl --request POST \
--url https://api.magnific.com/v1/ai/image-to-video/wan-v2-2-580p \
--header 'Content-Type: application/json' \
--header 'x-magnific-api-key: <api-key>' \
--data '
{
"image": "https://img.freepik.com/free-photo/beautiful-girl-dancing_123456-7890.jpg",
"webhook_url": "https://www.example.com/webhook",
"prompt": "A beautiful girl opens her eyes and smiles warmly, the camera gently zooms in capturing the sparkle in her eyes, soft natural lighting",
"duration": "5",
"aspect_ratio": "auto",
"seed": 70
}
'import requests
url = "https://api.magnific.com/v1/ai/image-to-video/wan-v2-2-580p"
payload = {
"image": "https://img.freepik.com/free-photo/beautiful-girl-dancing_123456-7890.jpg",
"webhook_url": "https://www.example.com/webhook",
"prompt": "A beautiful girl opens her eyes and smiles warmly, the camera gently zooms in capturing the sparkle in her eyes, soft natural lighting",
"duration": "5",
"aspect_ratio": "auto",
"seed": 70
}
headers = {
"x-magnific-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-magnific-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
image: 'https://img.freepik.com/free-photo/beautiful-girl-dancing_123456-7890.jpg',
webhook_url: 'https://www.example.com/webhook',
prompt: 'A beautiful girl opens her eyes and smiles warmly, the camera gently zooms in capturing the sparkle in her eyes, soft natural lighting',
duration: '5',
aspect_ratio: 'auto',
seed: 70
})
};
fetch('https://api.magnific.com/v1/ai/image-to-video/wan-v2-2-580p', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.magnific.com/v1/ai/image-to-video/wan-v2-2-580p",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'image' => 'https://img.freepik.com/free-photo/beautiful-girl-dancing_123456-7890.jpg',
'webhook_url' => 'https://www.example.com/webhook',
'prompt' => 'A beautiful girl opens her eyes and smiles warmly, the camera gently zooms in capturing the sparkle in her eyes, soft natural lighting',
'duration' => '5',
'aspect_ratio' => 'auto',
'seed' => 70
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-magnific-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.magnific.com/v1/ai/image-to-video/wan-v2-2-580p"
payload := strings.NewReader("{\n \"image\": \"https://img.freepik.com/free-photo/beautiful-girl-dancing_123456-7890.jpg\",\n \"webhook_url\": \"https://www.example.com/webhook\",\n \"prompt\": \"A beautiful girl opens her eyes and smiles warmly, the camera gently zooms in capturing the sparkle in her eyes, soft natural lighting\",\n \"duration\": \"5\",\n \"aspect_ratio\": \"auto\",\n \"seed\": 70\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-magnific-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.magnific.com/v1/ai/image-to-video/wan-v2-2-580p")
.header("x-magnific-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"image\": \"https://img.freepik.com/free-photo/beautiful-girl-dancing_123456-7890.jpg\",\n \"webhook_url\": \"https://www.example.com/webhook\",\n \"prompt\": \"A beautiful girl opens her eyes and smiles warmly, the camera gently zooms in capturing the sparkle in her eyes, soft natural lighting\",\n \"duration\": \"5\",\n \"aspect_ratio\": \"auto\",\n \"seed\": 70\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.magnific.com/v1/ai/image-to-video/wan-v2-2-580p")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-magnific-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"image\": \"https://img.freepik.com/free-photo/beautiful-girl-dancing_123456-7890.jpg\",\n \"webhook_url\": \"https://www.example.com/webhook\",\n \"prompt\": \"A beautiful girl opens her eyes and smiles warmly, the camera gently zooms in capturing the sparkle in her eyes, soft natural lighting\",\n \"duration\": \"5\",\n \"aspect_ratio\": \"auto\",\n \"seed\": 70\n}"
response = http.request(request)
puts response.read_body{
"data": {
"task_id": "046b6c7f-0b8a-43b9-b35d-6489e6daee91",
"status": "CREATED"
}
}WAN 2.2 580p - Create video from image
Generate a video from image using the WAN 2.2 580p model.
curl --request POST \
--url https://api.magnific.com/v1/ai/image-to-video/wan-v2-2-580p \
--header 'Content-Type: application/json' \
--header 'x-magnific-api-key: <api-key>' \
--data '
{
"image": "https://img.freepik.com/free-photo/beautiful-girl-dancing_123456-7890.jpg",
"webhook_url": "https://www.example.com/webhook",
"prompt": "A beautiful girl opens her eyes and smiles warmly, the camera gently zooms in capturing the sparkle in her eyes, soft natural lighting",
"duration": "5",
"aspect_ratio": "auto",
"seed": 70
}
'import requests
url = "https://api.magnific.com/v1/ai/image-to-video/wan-v2-2-580p"
payload = {
"image": "https://img.freepik.com/free-photo/beautiful-girl-dancing_123456-7890.jpg",
"webhook_url": "https://www.example.com/webhook",
"prompt": "A beautiful girl opens her eyes and smiles warmly, the camera gently zooms in capturing the sparkle in her eyes, soft natural lighting",
"duration": "5",
"aspect_ratio": "auto",
"seed": 70
}
headers = {
"x-magnific-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-magnific-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
image: 'https://img.freepik.com/free-photo/beautiful-girl-dancing_123456-7890.jpg',
webhook_url: 'https://www.example.com/webhook',
prompt: 'A beautiful girl opens her eyes and smiles warmly, the camera gently zooms in capturing the sparkle in her eyes, soft natural lighting',
duration: '5',
aspect_ratio: 'auto',
seed: 70
})
};
fetch('https://api.magnific.com/v1/ai/image-to-video/wan-v2-2-580p', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.magnific.com/v1/ai/image-to-video/wan-v2-2-580p",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'image' => 'https://img.freepik.com/free-photo/beautiful-girl-dancing_123456-7890.jpg',
'webhook_url' => 'https://www.example.com/webhook',
'prompt' => 'A beautiful girl opens her eyes and smiles warmly, the camera gently zooms in capturing the sparkle in her eyes, soft natural lighting',
'duration' => '5',
'aspect_ratio' => 'auto',
'seed' => 70
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-magnific-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.magnific.com/v1/ai/image-to-video/wan-v2-2-580p"
payload := strings.NewReader("{\n \"image\": \"https://img.freepik.com/free-photo/beautiful-girl-dancing_123456-7890.jpg\",\n \"webhook_url\": \"https://www.example.com/webhook\",\n \"prompt\": \"A beautiful girl opens her eyes and smiles warmly, the camera gently zooms in capturing the sparkle in her eyes, soft natural lighting\",\n \"duration\": \"5\",\n \"aspect_ratio\": \"auto\",\n \"seed\": 70\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-magnific-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.magnific.com/v1/ai/image-to-video/wan-v2-2-580p")
.header("x-magnific-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"image\": \"https://img.freepik.com/free-photo/beautiful-girl-dancing_123456-7890.jpg\",\n \"webhook_url\": \"https://www.example.com/webhook\",\n \"prompt\": \"A beautiful girl opens her eyes and smiles warmly, the camera gently zooms in capturing the sparkle in her eyes, soft natural lighting\",\n \"duration\": \"5\",\n \"aspect_ratio\": \"auto\",\n \"seed\": 70\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.magnific.com/v1/ai/image-to-video/wan-v2-2-580p")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-magnific-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"image\": \"https://img.freepik.com/free-photo/beautiful-girl-dancing_123456-7890.jpg\",\n \"webhook_url\": \"https://www.example.com/webhook\",\n \"prompt\": \"A beautiful girl opens her eyes and smiles warmly, the camera gently zooms in capturing the sparkle in her eyes, soft natural lighting\",\n \"duration\": \"5\",\n \"aspect_ratio\": \"auto\",\n \"seed\": 70\n}"
response = http.request(request)
puts response.read_body{
"data": {
"task_id": "046b6c7f-0b8a-43b9-b35d-6489e6daee91",
"status": "CREATED"
}
}Authorizations
Your Magnific API key. Required for authentication. Learn how to obtain an API key
Body
The image to use for the video generation. Supported formats: URL of the image or base64 encoding of the image. Each dimension (width and height) must be between 240px and 8000px. Accepted image formats: JPEG, PNG, WebP. Maximum file size: 10MB.
"https://img.freepik.com/free-photo/beautiful-girl-dancing_123456-7890.jpg"
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.
"https://www.example.com/webhook"
The text content used for the video generation. This is the main description of the video to be generated.
2000"A beautiful girl opens her eyes and smiles warmly, the camera gently zooms in capturing the sparkle in her eyes, soft natural lighting"
Video duration in seconds
5, 10 "5"
Video aspect ratio.`
auto, widescreen_16_9, social_story_9_16, square_1_1, classic_4_3 "auto"
Random seed for video generation.
70
Response
OK - Task created successfully
Show child attributes
Show child attributes
{
"task_id": "046b6c7f-0b8a-43b9-b35d-6489e6daee91",
"status": "CREATED"
}
Was this page helpful?