API 參考

視頻生成

使用 TENSORAXIS 提交視頻生成任務、輪詢任務狀態,並正確傳遞 Seedance/Doubao 高級參數。

視頻生成是異步任務:先提交任務取得 task_id,再輪詢任務狀態,完成後讀取視頻地址。

對接 Seedance/Doubao 視頻模型時,請使用本站入口字段 promptimagesmetadata。不要把火山官方示例中的頂層 content[] 請求體直接發給本站的 /v1/video/generations,否則會因為缺少 prompt 返回 400 prompt is required

按模型查看專頁

本頁講通用的提交、查詢與輪詢流程。各視頻系列的能力矩陣、入口字段、按能力的示例與參數表,請看對應專頁:

端點

方法路徑用途推薦場景
POST/v1/video/generations提交視頻生成任務Seedance/Doubao 通用入口
GET/v1/video/generations/{task_id}查詢視頻生成任務查詢同一路徑任務
POST/v1/videosOpenAI/Sora 風格提交入口Sora/OpenAI 客戶端
GET/v1/videos/{task_id}OpenAI/Sora 風格任務查詢Sora/OpenAI 客戶端
GET/v1/videos/{task_id}/content代理下載視頻內容讀取已完成視頻

新接入 Seedance/Doubao 時,優先使用 /v1/video/generations

請求體

POST /v1/video/generations

字段類型必填說明
modelstring要調用的模型名
promptstring視頻提示詞;為空會返回 400 prompt is required
imagestring單張參考圖 URL;服務端會兼容轉換為 images
imagesstring[]多張參考圖 URL,用於圖生視頻
metadataobject模型或上游特有參數;Seedance/Doubao 高級參數放這裡
secondsstring兼容字段;Doubao/Seedance 會把正整數值轉成上游 duration
durationinteger通用任務字段;Seedance/Doubao 推薦使用 metadata.duration
sizestring部分視頻模型使用的尺寸字段
modestring部分視頻模型使用的模式字段
input_referencestringOpenAI/Sora 兼容路徑可能使用的輸入引用;Seedance/Doubao 示例不使用

正確與錯誤示例

錯誤:把火山官方頂層 content[] 格式直接發給本站入口。

{
  "model": "doubao-seedance-2-0-260128",
  "content": [
    {
      "type": "text",
      "text": "戴帽子的老爺爺微笑往前走"
    }
  ]
}

正確:使用本站入口字段,由 TENSORAXIS 轉換為上游格式。

{
  "model": "doubao-seedance-2-0-260128",
  "prompt": "戴帽子的老爺爺微笑往前走",
  "images": ["https://example.com/reference.jpg"],
  "metadata": {
    "resolution": "1080p",
    "ratio": "16:9",
    "duration": 5,
    "camera_fixed": true,
    "watermark": false
  }
}

提交任務

curl https://api.tensoraxis.com/v1/video/generations \
  -H "Authorization: Bearer $TENSORAXIS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "doubao-seedance-2-0-260128",
    "prompt": "戴帽子的老爺爺微笑往前走",
    "images": ["https://example.com/reference.jpg"],
    "metadata": {
      "resolution": "1080p",
      "ratio": "16:9",
      "duration": 5,
      "camera_fixed": true,
      "watermark": false
    }
  }'

提交成功後會返回公開任務 ID。字段可能隨視頻渠道略有差異,但通常包含:

{
  "id": "task_xxxxx",
  "task_id": "task_xxxxx",
  "object": "video",
  "model": "doubao-seedance-2-0-260128",
  "status": "queued",
  "progress": 0,
  "created_at": 1760000000
}

請保存 idtask_id 用於輪詢。

查詢任務

使用通用視頻任務入口提交時,配套查詢:

curl https://api.tensoraxis.com/v1/video/generations/task_xxxxx \
  -H "Authorization: Bearer $TENSORAXIS_API_KEY"

通用查詢響應為 task 包裝結構:

{
  "code": "success",
  "message": "",
  "data": {
    "task_id": "task_xxxxx",
    "status": "SUCCESS",
    "progress": "100%",
    "result_url": "https://example.com/video.mp4",
    "fail_reason": ""
  }
}

常見狀態含義:

狀態說明
SUBMITTED / QUEUED已提交或排隊中
IN_PROGRESS生成中
SUCCESS已完成,讀取 result_url
FAILURE失敗,讀取 fail_reason

OpenAI/Sora 風格查詢路徑為:

curl https://api.tensoraxis.com/v1/videos/task_xxxxx \
  -H "Authorization: Bearer $TENSORAXIS_API_KEY"

該路徑返回 object: "video" 的響應,並在成功時把視頻 URL 同時放在 urlvideo_urlmetadata.url 中。

Seedance/Doubao metadata

對 Doubao/Seedance 渠道,TENSORAXIS 會把 promptimagesmetadata 轉換為火山方舟內容生成任務格式:

本站請求字段轉發到上游
promptcontent[].text
images[]content[].image_url.url
secondsduration
metadata.resolutionresolution
metadata.ratioratio
metadata.durationduration
metadata.framesframes
metadata.seedseed
metadata.camera_fixedcamera_fixed
metadata.watermarkwatermark
metadata.generate_audiogenerate_audio
metadata.draftdraft
metadata.service_tierservice_tier
metadata.return_last_framereturn_last_frame
metadata.execution_expires_afterexecution_expires_after
metadata.callback_urlcallback_url
metadata.toolstools

注意事項:

  • metadata.model 會被移除,不能用它覆蓋計費模型。
  • 未映射到當前 adaptor 結構的 metadata 字段通常不會轉發給上游。
  • metadata.content 屬於高級內部兼容字段,可能覆蓋由 images 生成的內容列表;公開接入不建議使用。
  • 上游字段的取值範圍、枚舉和實際生效語義,以火山方舟對應模型的官方說明為準。本文只說明 TENSORAXIS 當前代碼會如何接收和轉發字段。

輪詢建議

  • 首次提交後等待 2-5 秒再查詢。
  • 生成中可每 5-10 秒查詢一次。
  • 不要用高頻輪詢代替回調;大批量任務建議在業務側做隊列。
  • 遇到 429 時降低併發並使用指數退避。