视频生成与下载
生成视频需要等待一段时间,操作分三步:
- 提交描述,得到任务 ID。
- 查询任务,等待状态变成完成。
- 下载视频,保存到自己的电脑。
请先准备平台 API Key,并从模型广场复制一个支持视频生成的模型名称。
按视频模型选择参数
不同模型的清晰度、比例和时长范围可能不同,集中在视频模型接入目录按模型维护。
使用 SD2 / Seedance 2.0 时,先看 SD2 参数与调用示例:resolution 可选 480p / 720p / 1080p,默认 720p;ratio 默认 adaptive,时长默认 5 秒。该页包含全部可选比例、时长填写方式、参数位置和完整提交示例。
本页继续介绍通用的提交、查询和下载步骤。模型专属参数按对应教程加入请求体,不要套用到其他模型。
本页用到的地址
| 做什么 | 地址 |
|---|---|
| 提交生成 | https://www.taokennet.com/v1/videos |
| 查询任务 | https://www.taokennet.com/v1/videos/任务ID |
| 下载结果 | https://www.taokennet.com/v1/videos/任务ID/content |
代码里的 YOUR_VIDEO_MODEL_ID 需要换成真实模型名称。尺寸、时长、参考图等选项请在对应模型的说明中选择,再加入下面的创建请求体。
Python:自动等待并下载
先按 Python 准备教程安装 requests。把下面代码保存为 video_demo.py,替换模型名称后运行。
这个程序只提交一次生成请求,之后查询进度;完成后保存为 result.mp4。
python
import getpass
from pathlib import Path
import time
import requests
API_BASE_URL = "https://www.taokennet.com"
MODEL_ID = "YOUR_VIDEO_MODEL_ID"
api_key = getpass.getpass("粘贴你的 API Key,然后按回车:").strip()
headers = {"Authorization": f"Bearer {api_key}"}
created = requests.post(
f"{API_BASE_URL}/v1/videos",
headers=headers,
json={
"model": MODEL_ID,
"prompt": "海边日出,镜头缓慢向前移动,画面平稳",
},
timeout=180,
)
if not created.ok:
print("提交失败:", created.status_code, created.text)
raise SystemExit(1)
video_id = created.json()["id"]
Path("video-task-id.txt").write_text(video_id, encoding="utf-8")
print("任务 ID:", video_id)
print("已记录到 video-task-id.txt,请保留。")
for _ in range(120):
response = requests.get(
f"{API_BASE_URL}/v1/videos/{video_id}",
headers=headers,
timeout=60,
)
if not response.ok:
print("查询失败:", response.status_code, response.text)
raise SystemExit(1)
task = response.json()
status = task["status"]
print("当前状态:", status, "进度:", task.get("progress", "暂未提供"))
if status == "completed":
with requests.get(
f"{API_BASE_URL}/v1/videos/{video_id}/content",
headers=headers,
stream=True,
timeout=180,
) as video:
if not video.ok:
print("下载失败:", video.status_code, video.text)
raise SystemExit(1)
with open("result.mp4", "wb") as output:
for chunk in video.iter_content(chunk_size=65536):
if chunk:
output.write(chunk)
print("视频已保存到:", Path("result.mp4").resolve())
break
if status == "failed":
print("生成失败:", task.get("error", task))
break
time.sleep(5)
else:
print("本次等待已结束。请保留任务 ID,按下面的查询方法继续查看,不要重复提交。")运行:
bash
python video_demo.py程序会提示输入 API Key,并陆续显示进度。完成后,到终端显示的位置打开 result.mp4。
**重新运行整个程序会创建新视频。**如果只是想查看已有任务,使用保存的任务 ID,按下面的查询步骤操作。
cURL:分三步操作
下面使用 Bash。在同一个终端窗口按顺序操作。
1. 提交视频
替换模型名称,整段运行:
bash
API_BASE_URL='https://www.taokennet.com'
printf '粘贴你的 API Key,然后按回车:'
read -r -s API_KEY
printf '\n'
curl -sS "$API_BASE_URL/v1/videos" \
-H "Authorization: Bearer $API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"model": "YOUR_VIDEO_MODEL_ID",
"prompt": "海边日出,镜头缓慢向前移动,画面平稳"
}'返回结果中会有 id,例如:
json
{
"id": "PUBLIC_TASK_ID",
"status": "queued"
}这是结构示意。复制你实际收到的 id,不要使用示例中的 PUBLIC_TASK_ID。
2. 查询任务
保持同一个终端窗口,执行下面代码,按提示粘贴刚才的任务 ID:
bash
printf '粘贴返回的任务 ID,然后按回车:'
read -r VIDEO_ID
curl -sS "$API_BASE_URL/v1/videos/$VIDEO_ID" \
-H "Authorization: Bearer $API_KEY"稍等几秒后,可以再次执行最后一条查询命令。只查询即可,不要重新提交生成。
| 返回的 status | 你应该做什么 |
|---|---|
queued | 正在排队,稍后再查询 |
in_progress | 正在生成,稍后再查询 |
completed | 已完成,可以下载 |
failed | 失败,查看错误说明并停止查询 |
3. 完成后下载
确认 status 为 completed,再执行:
bash
curl --fail -sS "$API_BASE_URL/v1/videos/$VIDEO_ID/content" \
-H "Authorization: Bearer $API_KEY" \
--output result.mp4命令成功后,在当前文件夹打开 result.mp4。
PowerShell:分三步操作
1. 提交视频
打开 Windows PowerShell,替换模型名称后执行:
powershell
$ErrorActionPreference = 'Stop'
$apiBaseUrl = 'https://www.taokennet.com'
$apiKey = Read-Host '粘贴你的 API Key,然后按回车'
$headers = @{ Authorization = "Bearer $($apiKey.Trim())" }
$body = @{
model = 'YOUR_VIDEO_MODEL_ID'
prompt = '海边日出,镜头缓慢向前移动,画面平稳'
} | ConvertTo-Json -Depth 5
$created = Invoke-RestMethod `
-Uri "$apiBaseUrl/v1/videos" `
-Method Post `
-Headers $headers `
-ContentType 'application/json' `
-Body ([Text.Encoding]::UTF8.GetBytes($body))
$videoId = $created.id
$videoId | Set-Content -LiteralPath 'video-task-id.txt'
Write-Host "任务 ID:$videoId"把任务 ID 保存好。最后一行显示 ID,表示提交完成;此时不一定已经生成好视频。
2. 查询进度
保持同一个 PowerShell 窗口,执行:
powershell
$task = Invoke-RestMethod `
-Uri "$apiBaseUrl/v1/videos/$videoId" `
-Headers $headers
$task | Select-Object id, status, progress, error几秒后可再次执行这段查询。等 status 变成 completed 再下载;如果是 failed,查看 error。
如果重开了窗口,先重新填写 $apiBaseUrl、$apiKey 和 $headers,再用 $videoId = Read-Host '粘贴已保存的任务 ID' 恢复任务 ID,不要重跑提交步骤。
3. 完成后下载
powershell
if ($task.status -eq 'completed') {
Invoke-WebRequest `
-Uri "$apiBaseUrl/v1/videos/$videoId/content" `
-Headers $headers `
-OutFile 'result.mp4'
Write-Host '下载完成,请在当前文件夹打开 result.mp4'
} else {
Write-Host '当前任务未完成,请先查看状态,不要重复提交。'
}下载失败时先看错误提示,不要把错误内容当作视频文件打开。
视频工具要求填写 Ark / 豆包格式时
如果你使用的视频工具让你选择 Ark 或豆包视频格式,可以按下面填写。先确认所选视频模型支持该入口。
| 字段 | 填什么 |
|---|---|
| Base URL | https://www.taokennet.com/v1 |
| API Key | 你在本平台创建的 API Key |
| 模型 | 从模型广场复制的视频模型名称 |
工具最终的创建地址应为:
text
https://www.taokennet.com/v1/contents/generations/tasks如果工具自己会追加 /v1/contents/generations/tasks,Base URL 改填 https://www.taokennet.com,避免重复 /v1。
自己编写请求时,这个入口的基本请求体是:
json
{
"model": "YOUR_VIDEO_MODEL_ID",
"content": [
{"type": "text", "text": "海边日出,镜头缓慢向前移动"}
]
}提交后保存返回的 id,查询地址为 https://www.taokennet.com/v1/contents/generations/tasks/任务ID。这类查询成功时使用 succeeded;结果中可读取 content.video_url。请按工具实际采用的状态和返回字段处理。
SD2 的清晰度、比例与时长同样放在这个请求体的顶层,带参数的完整示例见 SD2 接入。
常见问题
- 等很久还没完成:先保留任务 ID,继续查询;不要重复点击提交。
- 提交后窗口关了:使用保存的任务 ID 继续查询,不需要重新生成。
- 提示时长或尺寸不支持:使用模型说明中的范围,先删去额外选项测试基本请求。
- 下载链接打不开:检查任务是否已完成、链接是否完整;及时保存视频,必要时联系平台支持。
