cURL
curl https://api.apipod.ai/v1/videos/generations \
-H "Authorization: Bearer $APIPOD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "wan3.0-video",
"prompt": "A premium product photograph on a dark studio set, precise typography, soft rim lighting, highly detailed.",
"image_urls": [
"https://cdn.example.com/reference-1.jpg"
],
"video_urls": [
"https://cdn.example.com/reference.mp4"
],
"duration": 5,
"resolution": "1080P",
"aspect_ratio": "adaptive",
"generate_audio": true
}'import os
import requests
payload = {
"model": "wan3.0-video",
"prompt": "A premium product photograph on a dark studio set, precise typography, soft rim lighting, highly detailed.",
"image_urls": [
"https://cdn.example.com/reference-1.jpg"
],
"video_urls": [
"https://cdn.example.com/reference.mp4"
],
"duration": 5,
"resolution": "1080P",
"aspect_ratio": "adaptive",
"generate_audio": True
}
response = requests.post(
"https://api.apipod.ai/v1/videos/generations",
headers={
"Authorization": f"Bearer {os.environ['APIPOD_API_KEY']}",
"Content-Type": "application/json",
},
json=payload,
timeout=60,
)
response.raise_for_status()
print(response.json())package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.apipod.ai/v1/videos/generations"
payload := strings.NewReader("{\n \"model\": \"wan3.0-video\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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))
}falseconst options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({model: 'wan3.0-video'})
};
fetch('https://api.apipod.ai/v1/videos/generations', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"code": 200,
"message": "success",
"data": {
"task_id": "vid_task_01JEXAMPLE"
}
}Wan 3.0
WAN 3.0 Video
all-in-one 的 WAN 3.0 Video:一个模型 ID 覆盖文生视频、图生视频(首尾帧)与参考生视频(图/视频/音频/文件/链接),场景由请求素材自动推断。
POST
https://api.apipod.ai
/
v1
/
videos
/
generations
cURL
curl https://api.apipod.ai/v1/videos/generations \
-H "Authorization: Bearer $APIPOD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "wan3.0-video",
"prompt": "A premium product photograph on a dark studio set, precise typography, soft rim lighting, highly detailed.",
"image_urls": [
"https://cdn.example.com/reference-1.jpg"
],
"video_urls": [
"https://cdn.example.com/reference.mp4"
],
"duration": 5,
"resolution": "1080P",
"aspect_ratio": "adaptive",
"generate_audio": true
}'import os
import requests
payload = {
"model": "wan3.0-video",
"prompt": "A premium product photograph on a dark studio set, precise typography, soft rim lighting, highly detailed.",
"image_urls": [
"https://cdn.example.com/reference-1.jpg"
],
"video_urls": [
"https://cdn.example.com/reference.mp4"
],
"duration": 5,
"resolution": "1080P",
"aspect_ratio": "adaptive",
"generate_audio": True
}
response = requests.post(
"https://api.apipod.ai/v1/videos/generations",
headers={
"Authorization": f"Bearer {os.environ['APIPOD_API_KEY']}",
"Content-Type": "application/json",
},
json=payload,
timeout=60,
)
response.raise_for_status()
print(response.json())package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.apipod.ai/v1/videos/generations"
payload := strings.NewReader("{\n \"model\": \"wan3.0-video\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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))
}falseconst options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({model: 'wan3.0-video'})
};
fetch('https://api.apipod.ai/v1/videos/generations', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"code": 200,
"message": "success",
"data": {
"task_id": "vid_task_01JEXAMPLE"
}
}授权
Use your APIPod API key as a Bearer token in the Authorization header.
请求体
application/json
APIPod 公开模型 ID。
Allowed value:
"wan3.0-video"文本提示词,描述期望生成的视频内容;文生视频场景必填。
Maximum string length:
20000图片 URL。场景按素材自动推断:仅传 1-2 张图时视为首尾帧(图生视频);携带其他参考素材或超过 2 张时全部按参考图处理。可配合 role 字段显式指定语义。最多 10 张。
Maximum array length:
10image_urls 的显式语义标注。reference_images:无论张数全部按参考图处理;first_last_frame:首帧 + 可选尾帧(最多 2 张,不能与参考视频或音频同用);缺省时按素材推断场景。
可用选项:
reference_images, first_last_frame 参考视频,最多 5 个,总时长不超过 15 秒。
Maximum array length:
5参考音频,最多 5 段,总时长不超过 15 秒。
Maximum array length:
5参考文件最多一个,不能与 link_url 同时提供;支持格式:docx、doc、xlsx、xls、pptx、ppt、pdf、txt、key、pages、numbers、md。
公开网页的 URL 地址,仅支持无需登录即可访问的公开网页,不能与 file_url 同时提供。
生成视频时长(秒),-1 表示由模型自行决定。
可用选项:
-1 必填范围:
2 <= x <= 30可用选项:
480P, 720P, 1080P 可用选项:
adaptive, 16:9, 4:3, 1:1, 3:4, 9:16 为视频生成同步音频。
此页面对您有帮助吗?