logo
平台介绍
快速接入
密钥管理
模型列表
计费规则
音色列表
文本转语音
音色克隆
文生音色
语音识别
多模态理解模型
音乐生成
图片生成
视频生成
视频生成介绍
POST
创建视频生成任务
GET
查询视频生成状态
语音Agent
自定义Agent
常见问题
工作台
立即登录

查询视频生成状态

查询视频生成任务的当前状态和进度。

接口概览

  • 接口地址: https://api.senseaudio.cn/v1/video/status
  • 请求方式: GET
  • Content-Type: application/json
  • 鉴权方式: Bearer Token

请求配置

请求头 (Request Headers)

参数名必填说明示例
Authorization是鉴权 Token。格式:Bearer SENSEAUDIO_API_KEYBearer sk-123456…
Content-Type是内容类型。固定为 application/jsonapplication/json

请求参数 (Query Parameters)

参数名类型必填描述
idstring是任务 ID(必填)

响应结构

参数名类型描述
idstringID
modelstring模型名称
task_idstring任务 ID
statusstring状态
progressint64进度百分比
video_urlstring视频 URL
durationint64实际时长(秒)
is_newboolean是否为新视频
error_messagestring错误信息
created_atint64创建时间戳
completed_atint64完成时间戳
promptstring提示词
resolutionstring分辨率,如 "1080p"
ratiostring宽高比,如 "16:9", "9:16"
contentarray描述视频的文字或图片
provider_specificobject模型特殊参数

状态说明

状态值说明
pending等待处理
processing处理中
completed已完成
failed失败

响应示例

json
复制
{ "id": "52e0c397-2f78-4c1f-8774-d51aba5e4e3c", "model": "SenseAudio-Video-1.0", "task_id": "c4666acd-60fa-4e1e-8c8b-72ae129f7a4d", "status": "pending", "progress": 0, "duration": 12, "is_new": true, "created_at": 1773822549, "prompt": "", "resolution": "720p", "content": [ { "type": "text", "text": "小怪兽" } ], "ratio": "16:9", }

代码示例

CURL

bash
复制
curl -X GET "https://api.senseaudio.cn/v1/video/status?id=task_1234567890" \ -H "Authorization: Bearer SENSEAUDIO_API_KEY" \ -H "Content-Type: application/json"

Python

python
复制
import requests import time API_URL = "https://api.senseaudio.cn/v1/video/status" HEADERS = { "Authorization": "Bearer SENSEAUDIO_API_KEY", "Content-Type": "application/json" } def get_video_status(task_id): params = {"id": task_id} resp = requests.get(API_URL, headers=HEADERS, params=params) if resp.status_code == 200: return resp.json() return None def poll_video_status(task_id, max_attempts=60): """轮询视频状态直到完成""" for _ in range(max_attempts): result = get_video_status(task_id) if result: status = result.get("status") progress = result.get("progress", 0) print(f"状态: {status}, 进度: {progress}%") if status == "completed": print(f"视频生成完成: {result.get('video_url')}") return result elif status == "failed": print(f"生成失败: {result.get('error_message')}") return result time.sleep(5) # 每5秒查询一次 return None # 查询状态 result = poll_video_status("task_1234567890")

JavaScript

javascript
复制
const axios = require('axios'); const API_URL = 'https://api.senseaudio.cn/v1/video/status'; const HEADERS = { 'Authorization': 'Bearer SENSEAUDIO_API_KEY', 'Content-Type': 'application/json' }; async function getVideoStatus(taskId) { try { const res = await axios.get(API_URL, { headers: HEADERS, params: { id: taskId } }); return res.data; } catch (err) { console.error('请求失败:', err.message); return null; } } async function pollVideoStatus(taskId, maxAttempts = 60) { for (let i = 0; i < maxAttempts; i++) { const result = await getVideoStatus(taskId); if (result) { const { status, progress } = result; console.log(`状态: ${status}, 进度: ${progress}%`); if (status === 'completed') { console.log(`视频生成完成: ${result.video_url}`); return result; } else if (status === 'failed') { console.log(`生成失败: ${result.error_message}`); return result; } } await new Promise(resolve => setTimeout(resolve, 5000)); // 每5秒查询一次 } return null; } pollVideoStatus('task_1234567890').then(result => { console.log(result); });

注意事项

  1. 轮询建议:视频生成需要时间,建议每 5-10 秒查询一次状态
  2. 超时处理:如果长时间处于 processing 状态,可能需要重新创建任务
  3. 错误处理:当 status 为 failed 时,查看 error_message 了解失败原因