跳转到正文

视频生成与下载 ​

生成视频需要等待一段时间,操作分三步:

  1. 提交描述,得到任务 ID。
  2. 查询任务,等待状态变成完成。
  3. 下载视频,保存到自己的电脑。

请先准备平台 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 URLhttps://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 继续查询,不需要重新生成。
  • 提示时长或尺寸不支持:使用模型说明中的范围,先删去额外选项测试基本请求。
  • 下载链接打不开:检查任务是否已完成、链接是否完整;及时保存视频,必要时联系平台支持。

继续:常见问题 · 图片生成。