curl --fail "https://sub.vcnovb.cn/v1/videos/TASK_ID" \
-H "Authorization: Bearer $VC_API_KEY"
import os
from urllib.parse import quote
import requests
task_id = "TASK_ID" # 替换为创建接口返回的 ID
response = requests.get(
f"https://sub.vcnovb.cn/v1/videos/{quote(task_id, safe='')}",
headers={"Authorization": f"Bearer {os.environ['VC_API_KEY']}"},
timeout=60,
)
response.raise_for_status()
print(response.json())
const taskId = "TASK_ID"; // 替换为创建接口返回的 ID
const response = await fetch(
`https://sub.vcnovb.cn/v1/videos/${encodeURIComponent(taskId)}`,
{ headers: { Authorization: `Bearer ${process.env.VC_API_KEY}` } },
);
if (!response.ok) throw new Error(await response.text());
console.log(await response.json());
{"output":{"task_id":"TASK_ID","task_status":"SUCCEEDED","video_url":"https://example.com/result.mp4"}}
{"output":{"task_id":"TASK_ID","task_status":"RUNNING"}}
{"output":{"task_id":"TASK_ID","task_status":"FAILED","message":"generation failed"}}
WAN 3.0
Wan 3.0 查询与下载
查询 Wan 3.0 异步视频任务,识别状态并获取生成结果。
GET
https://sub.vcnovb.cn
/
v1
/
videos
/
{id}
curl --fail "https://sub.vcnovb.cn/v1/videos/TASK_ID" \
-H "Authorization: Bearer $VC_API_KEY"
import os
from urllib.parse import quote
import requests
task_id = "TASK_ID" # 替换为创建接口返回的 ID
response = requests.get(
f"https://sub.vcnovb.cn/v1/videos/{quote(task_id, safe='')}",
headers={"Authorization": f"Bearer {os.environ['VC_API_KEY']}"},
timeout=60,
)
response.raise_for_status()
print(response.json())
const taskId = "TASK_ID"; // 替换为创建接口返回的 ID
const response = await fetch(
`https://sub.vcnovb.cn/v1/videos/${encodeURIComponent(taskId)}`,
{ headers: { Authorization: `Bearer ${process.env.VC_API_KEY}` } },
);
if (!response.ok) throw new Error(await response.text());
console.log(await response.json());
{"output":{"task_id":"TASK_ID","task_status":"SUCCEEDED","video_url":"https://example.com/result.mp4"}}
{"output":{"task_id":"TASK_ID","task_status":"RUNNING"}}
{"output":{"task_id":"TASK_ID","task_status":"FAILED","message":"generation failed"}}
使用任务 ID 查询 WAN 3.0 视频的生成进度、结果地址和错误信息。查询时携带创建任务的同一把 API Key。
也可通过响应中的视频 URL 下载。外部下载链接无需携带 VC API Key;请在链接有效期内保存文件。
返回Wan 3.0 视频生成,或查看通用视频查询说明。
curl --fail "https://sub.vcnovb.cn/v1/videos/TASK_ID" \
-H "Authorization: Bearer $VC_API_KEY"
import os
from urllib.parse import quote
import requests
task_id = "TASK_ID" # 替换为创建接口返回的 ID
response = requests.get(
f"https://sub.vcnovb.cn/v1/videos/{quote(task_id, safe='')}",
headers={"Authorization": f"Bearer {os.environ['VC_API_KEY']}"},
timeout=60,
)
response.raise_for_status()
print(response.json())
const taskId = "TASK_ID"; // 替换为创建接口返回的 ID
const response = await fetch(
`https://sub.vcnovb.cn/v1/videos/${encodeURIComponent(taskId)}`,
{ headers: { Authorization: `Bearer ${process.env.VC_API_KEY}` } },
);
if (!response.ok) throw new Error(await response.text());
console.log(await response.json());
{"output":{"task_id":"TASK_ID","task_status":"SUCCEEDED","video_url":"https://example.com/result.mp4"}}
{"output":{"task_id":"TASK_ID","task_status":"RUNNING"}}
{"output":{"task_id":"TASK_ID","task_status":"FAILED","message":"generation failed"}}
返回字段
以下为output 格式的返回字段。收到顶层 id、status 和 video_url 格式时,分别读取任务 ID、状态和结果地址。
| 字段 | 类型 | 说明 |
|---|---|---|
output.task_id | string | 视频任务 ID |
output.task_status | string | PENDING:排队;RUNNING:生成中;SUCCEEDED:完成;FAILED:失败 |
output.video_url | string | 视频结果地址,任务完成后读取 |
output.message | string | 任务失败时的错误信息 |
任务状态
| 阶段 | 操作 |
|---|---|
| 排队 / 生成中 | 间隔数秒查询,等待时间较长时适当延长间隔 |
| 已完成 | 读取结果地址并下载视频 |
| 已失败 / 已取消 | 保留任务 ID 和错误摘要,在任务记录中确认结算与退款 |
| 未识别的状态 / 查询超时 | 稍后继续查询原任务;持续异常时提交任务 ID 联系支持 |
下载视频
支持内容下载的任务可通过以下接口保存为 MP4:curl --fail "https://sub.vcnovb.cn/v1/videos/TASK_ID/content" \
-H "Authorization: Bearer $VC_API_KEY" \
--output video.mp4
任务结束前请保留原 API Key 及分组绑定。查询超时后继续查询原任务,避免重复生成。