33 KiB
Text Video Agent API 文档
概述
Text Video Agent API 是一个综合性的文本生成视频API服务,版本 1.0.6。该API提供了多种AI生成服务,包括图片生成、视频生成、音频生成、口型合成、数字人生成、LLM推理等功能,支持多个AI服务提供商。
API 分类概览
1. 文件操作 (File Operations)
- 文件上传到云存储(COS/S3)
- 健康检测
2. 视频模板管理 (Video Template Management)
- 模板CRUD操作
- 任务类型检查
- 分页查询
3. 极梦视频生成 (JiMeng Video Generation)
- 视频生成(同步/异步)
- 任务状态查询
4. 任务管理 (Task Management)
- 异步任务提交
- 任务状态查询
- 模板化任务处理
5. 302AI Midjourney图片生成 (302AI Midjourney Image Generation)
- 图片生成(同步/异步)
- 图片描述反推
- 任务取消
6. 302AI 极梦视频生成 (302AI JiMeng Video Generation)
- 视频生成(同步/异步)
- 任务状态查询
7. 302AI Midjourney视频生成 (302AI Midjourney Video Generation)
- 视频生成服务
- 任务状态查询
8. 302AI VEO视频生成 (302AI VEO Video Generation)
- VEO视频生成
- 任务状态查询
9. Hedra口型合成 3.0 (Hedra Lip Sync 3.0)
- 口型合成任务
- 文件上传管理
10. 海螺API (HaiLuo API)
- 语音合成
- 声音克隆
11. ComfyUI工作流 (ComfyUI Workflow)
- 工作流执行
- 节点管理
12. 302AI聚合接口 (302AI Union APIs)
- 统一的图片/视频生成接口
- 支持多模型选择
13. 🔥稳定图片视频生成接口 (Stable Generation APIs)
- 图片生成任务提交
- 视频生成任务提交
- 任务状态查询
14. 🔥特殊模型接口 (Special Model APIs)
- Higgsfield Soul模型
- 首尾帧视频生成
15. 火山OmniHuman接口 (Volcano OmniHuman APIs)
- 图片人脸检测
- 视频生成
16. 火山数字人接口 (Volcano Digital Human APIs)
- 数字人创建
- 视频生成
17. LLM调用 (LLM APIs)
- 多模型推理
- Google Gemini多模态分析
- 文件上传到Google存储
18. 提示词预处理 (Prompt Processing) [已弃用]
- 获取示例提示词
- 健康检测
详细接口分析
1. 文件操作模块
1.1 上传文件到COS (已弃用)
接口: POST /api/file/upload
参数:
file: 要上传的文件
作用: 上传文件到腾讯云COS存储 状态: 已弃用,建议使用S3上传接口
1.2 上传文件到S3 (推荐)
接口: POST /api/file/upload/s3
参数:
file: 要上传的文件
作用: 上传文件到S3存储,支持CDN加速,性能更好
返回: FileUploadResponse
status: 上传状态msg: 响应消息data: 文件URL
1.3 健康检测
接口: GET /api/file/health
作用: 检查文件操作服务的健康状态
2. 视频模板管理模块
2.1 获取视频模板列表
接口: GET /api/template/default
参数:
task_type(可选): 任务类型筛选page(可选): 页码,从1开始,默认1page_size(可选): 每页记录数,默认100,最大1000category(可选): 模版分类标签,默认"全部"
作用: 获取视频模板列表,支持分页和按任务类型筛选
返回:
{
"status": true,
"data": [模板数据列表],
"page": 当前页码,
"page_size": 每页数量,
"total": 总记录数,
"total_pages": 总页数
}
2.2 检查任务类型可用性
接口: GET /api/template/check/task_type
参数:
task_type: 要检查的任务类型
作用: 检查指定的任务类型是否可用(未被占用)
2.3 创建视频模板
接口: POST /api/template/create
参数: 模板数据对象,必须包含task_type字段且唯一
示例数据:
{
"prompt": "Cozy, earthy-style visual...",
"cover_url": "https://...",
"video_url": "https://...",
"description": "茶艺展示",
"detailDescription": "茶艺仪式与草本排毒茶的自然精华展示",
"title_zh": "养生草本茶艺展示",
"aspect_ratio": "9:16",
"engine": "mj",
"presetPrompts": "11111\n22222",
"task_type": "tea"
}
2.4 更新视频模板
接口: PUT /api/template/update
参数: 模板数据对象,必须包含id字段
2.5 删除视频模板
接口: DELETE /api/template/delete/{template_id}
参数:
template_id: 要删除的模板ID
作用: 软删除视频模板
3. 极梦视频生成模块
3.1 生成视频 (基础版)
接口: POST /api/jm/generate-video
参数:
prompt: 视频生成提示词img_url: 图片URL地址duration(可选): 视频时长(秒),默认5max_wait_time(可选): 最大等待时间,默认300秒poll_interval(可选): 轮询间隔,默认5秒model_type(可选): 模型类型,支持lite/pro,默认lite
3.2 同步生成视频v2
接口: POST /api/jm/sync/generate/video
参数:
prompt: 视频生成提示词img_file: 上传的图片文件duration(可选): 视频时长(秒),默认5max_wait_time(可选): 最大等待时间,默认300秒poll_interval(可选): 轮询间隔,默认5秒model_type(可选): 模型类型,默认lite
作用: 支持通过图片文件生成视频,同步返回结果
3.3 异步生成视频
接口: POST /api/jm/async/generate/video
参数:
prompt: 视频生成提示词img_url(可选): 图片URL地址img_file(可选): 上传的图片文件duration(可选): 视频时长(秒),默认5model_type(可选): 模型类型,默认lite
作用: 异步提交视频生成任务
3.4 异步查询视频状态
接口: GET /api/jm/async/query/status
参数:
task_id: 任务ID
作用: 查询异步视频生成任务的状态和结果
3.5 健康检查
接口: GET /api/jm/health
作用: 检查极梦视频生成服务的健康状态
4. 任务管理模块
4.1 新版异步提交任务
接口: POST /api/task/create/task
参数: TaskRequest对象
task_type(可选): 任务类型 (tea/chop/lady/vlog)prompt: 生成提示词img_url(可选): 参考图片URLar(可选): 生成图片的长宽比,默认9:16
作用: 异步提交任务到Modal进行处理,立即返回任务ID
4.2 新版本异步提交任务v2
接口: POST /api/task/create/task/v2
参数: 同上
作用: 任务管理的升级版本
4.3 异步查询任务状态
接口: GET /api/task/status/{task_id}
参数:
task_id: 任务ID
作用: 查询任务执行状态和结果
4.4 健康检测
接口: GET /api/task/health
作用: 检查任务管理服务的健康状态
5. 302AI Midjourney图片生成模块
5.1 异步提交生图任务
接口: POST /api/302/mj/async/generate/image
参数:
prompt: 图片生成提示词img_file(可选): 样貌参考图片
作用: 异步提交图片生成任务,立即返回任务ID
5.2 取消任务
接口: POST /api/302/mj/task/cancel
参数:
task_id: 要取消的任务ID
作用: 取消正在执行的图片生成任务
5.3 异步查询任务状态
接口: GET /api/302/mj/async/query/status
参数:
task_id: 任务IDtask_type(可选): 任务类型,image(生图)/describe(反推提示词),默认imagecdn_flag(可选): 是否CDN转换,默认false(CDN转换耗时)mode(可选): 模式,默认fast
作用: 查询异步图片生成任务的状态和结果
5.4 获取图像描述
接口: POST /api/302/mj/sync/img/describe
参数:
image_url: 图片URL地址max_wait_time(可选): 最大等待时间,默认120秒poll_interval(可选): 轮询间隔,默认2秒
作用: 根据图片URL反推生成该图片的提示词
5.5 通过文件获取生图提示词
接口: POST /api/302/mj/sync/file/img/describe
参数:
img_file: 上传的图片文件
作用: 通过上传图片文件反推生成提示词
5.6 同步生成图片
接口: POST /api/302/mj/sync/image
参数:
prompt: 图片生成提示词img_file(可选): 样貌参考图片max_wait_time(可选): 最大等待时间,默认500秒poll_interval(可选): 轮询间隔,默认4秒mode(可选): 模式,支持fast/turbo,默认fast
作用: 同步生成图片,等待结果返回
6. 302AI 极梦视频生成模块
6.1 同步生成视频v2
接口: POST /api/302/jm/sync/generate/video
参数:
prompt: 视频生成提示词img_file: 生成视频的图片文件duration(可选): 视频时长(秒),默认5max_wait_time(可选): 最大等待时间,默认300秒poll_interval(可选): 轮询间隔,默认5秒model_type(可选): 模型类型,默认lite
作用: 同步生成视频,等待结果返回
6.2 异步生成视频
接口: POST /api/302/jm/async/generate/video
参数:
prompt: 视频生成提示词img_url(可选): 图片URL地址img_file(可选): 上传的图片文件duration(可选): 视频时长(秒),默认5model_type(可选): 模型类型,默认lite
作用: 异步提交视频生成任务
6.3 异步查询视频状态
接口: GET /api/302/jm/async/query/status
参数:
task_id: 任务ID
作用: 查询异步视频生成任务的状态和结果
7. 302AI Midjourney视频生成模块
7.1 异步提交生成视频任务
接口: POST /api/302/mj/video/async/submit
参数:
prompt: 生成视频的提示词img_file(可选): 首帧参考图文件
作用: 异步提交Midjourney视频生成任务
7.2 异步查询生成任务进度
接口: POST /api/302/mj/video/async/task/status
参数:
task_id: 任务ID
作用: 查询Midjourney视频生成任务的进度和结果
7.3 同步生成视频
接口: POST /api/302/mj/video/sync/generate/video
参数:
prompt: 生成视频的提示词img_file: 首帧参考图文件timeout(可选): 超时时间,默认300秒interval(可选): 轮询间隔,默认3秒
作用: 同步生成Midjourney视频,等待结果返回
8. 302AI VEO视频生成模块
8.1 异步提交任务
接口: POST /api/302/veo/video/async/submit
参数:
prompt: 生成视频的提示词img_file(可选): 首帧参考图
作用: 异步提交VEO视频生成任务
8.2 同步生成视频
接口: POST /api/302/veo/video/sync/generate/video
参数:
prompt: 生成视频的提示词img_file(可选): 首帧参考图max_wait_time(可选): 最大等待时间,默认500秒interval(可选): 轮询间隔,默认5秒
作用: 同步生成VEO视频,等待结果返回
8.3 获取任务状态
接口: GET /api/302/veo/video/task/{task_id}
参数:
task_id: 任务IDimg_mode(可选): 图文到视频模式,默认false
作用: 查询VEO视频生成任务的状态和结果
9. Hedra口型合成 3.0 模块
9.1 上传文件到Hedra平台
接口: POST /api/302/hedra/v3/file/upload
参数:
local_file: 待上传的文件,支持音频、图片、视频、语音purpose(可选): 上传文件的用途,支持"image"、"audio"、"video"、"voice",默认"image"
作用: 上传文件到Hedra平台,返回资源的ID
9.2 异步提交任务
接口: POST /api/302/hedra/v3/submit/task
参数:
img_file: 图片文件audio_file: 音频文件
作用: 异步提交口型合成任务
9.3 查询任务状态
接口: GET /api/302/hedra/v3/task/status
参数:
task_id: 任务ID
作用: 查询口型合成任务的执行状态和结果
10. 海螺API模块
10.1 同步生成音频
接口: POST /api/302/hl_router/sync/generate/speech
参数:
text: TTS文本内容voice_id: Voice IDspeed(可选): 语速 [0.5, 2],默认1.0vol(可选): 音量 (0,10],默认1.0emotion(可选): 情感 ["happy", "sad", "angry", "fearful", "disgusted", "surprised", "calm"]
作用: 使用指定音色和参数生成语音
10.2 查询克隆的音色ID
接口: GET /api/302/hl_router/sync/get/voices
作用: 查询可用的克隆音色ID列表,接口来自官方,302没有对应的中转接口
10.3 上传素材到302ai
接口: POST /api/302/hl_router/sync/file/upload
参数:
audio_file: 音频文件purpose(可选): 意图,默认voice_clone
作用: 上传音频文件用于声音复刻
10.4 声音克隆
接口: POST /api/302/hl_router/sync/voice/clone
参数:
text: 复刻的文本model(可选): 支持的模型,默认speech-02-hd- 可选: speech-02-hd, speech-02-turbo, speech-01-hd, speech-01-turbo
need_noise_reduction(可选): 是否开启降噪,默认truevoice_id(可选): 音色克隆voice_idprefix(可选): 音色voice_id前缀,默认BoWong-audio_file(可选): 参考音频文件
作用: 基于参考音频创建个性化音色
11. ComfyUI工作流模块
11.1 获取运行节点
接口: GET /api/comfy/fetch/running/node
参数:
task_count(可选): 运行任务的数目,默认1
作用: 根据任务数获取可用的运行节点
11.2 异步提交任务
接口: POST /api/comfy/async/submit/task
参数:
prompt: 工作流节点数据
作用: 异步提交ComfyUI工作流任务
11.3 查询任务状态
接口: GET /api/comfy/async/task/status
参数:
task_id: 任务ID
作用: 查询ComfyUI工作流任务的执行状态
11.4 同步执行工作流
接口: POST /api/comfy/sync/execute/workflow
参数:
prompt: 工作流JSON字符串
作用: 同步执行ComfyUI工作流,等待结果返回
12. 302AI聚合接口模块
12.1 图片生成聚合接口
获取支持的模型列表
接口: GET /api/union/img/model/list
作用: 获取所有支持的图片生成模型列表
生图
接口: POST /api/union/img/sync/generate/image
参数:
model(可选): 生图模型,默认midjourney-v7-t2iprompt: 生图提示词img_file: 参考图aspect_ratio(可选): 图片尺寸,默认9:16
作用: 统一的图片生成接口,支持多种模型 参考文档: https://doc.302.ai/286288228e0
12.2 视频生成聚合接口
获取支持的模型列表
接口: GET /api/union/video/model/list
作用: 获取所有支持的视频生成模型列表
异步提交任务
接口: POST /api/union/video/async/generate/video
参数:
prompt: 生图提示词img_file: 首帧图片model(可选): 生图模型,默认seedance_i2vduration(可选): 视频时长,默认5
异步查询任务状态
接口: GET /api/union/video/async/{task_id}/status
参数:
task_id: 任务ID
13. 🔥稳定图片视频生成接口模块
13.1 获取支持的模型列表
接口: GET /api/custom/model/list
参数:
category(可选): 分类,可取值: image, video,默认image
作用: 获取支持的图片或视频生成模型列表
13.2 提交图片生成任务
接口: POST /api/custom/image/submit/task
参数: 通过multipart/form-data提交
- 支持多种图片生成模型
- 支持参考图片上传
作用: 提交图片生成任务,返回任务ID
13.3 提交视频生成任务
接口: POST /api/custom/video/submit/task
参数: 通过multipart/form-data提交
- 支持多种视频生成模型
- 支持参考图片上传
作用: 提交视频生成任务,返回任务ID
13.4 查询任务状态
接口: GET /api/custom/task/status
参数:
task_id: 任务ID
作用: 查询图片或视频生成任务的状态和结果
14. 🔥特殊模型接口模块
14.1 获取支持的模型列表
接口: GET /api/custom/extend/model/list
作用: 获取特殊模型的支持列表
14.2 Higgsfield Soul模型
创建角色
接口: POST /api/custom/extend/higgsfield/create/character
参数: 通过application/x-www-form-urlencoded提交
作用: 提交创建生成角色任务
查询创建角色状态
接口: POST /api/custom/extend/higgsfield/character/status
参数:
task_id: 任务ID
作用: 查询创建角色任务的状态
提交生图任务
接口: POST /api/custom/extend/higgsfield/submit/task
参数: 通过application/x-www-form-urlencoded提交
作用: 使用Higgsfield Soul模型进行文生图
查询任务状态
接口: GET /api/custom/extend/higgsfield/task/status
参数:
task_id: 任务ID
作用: 查询Higgsfield任务执行状态
14.3 首尾帧视频生成
提交任务
接口: POST /api/custom/extend/frame/submit/task
参数: 通过application/x-www-form-urlencoded提交
作用: 提交首尾帧生成视频任务
查询任务状态
接口: GET /api/custom/extend/frame/task/status
参数:
task_id: 任务ID
作用: 查询首尾帧任务状态 说明: 只要返回的status类型为bool代表任务已经结束,直接从data里取值即可
15. 火山OmniHuman接口模块
15.1 图片检测
接口: POST /api/ark/omnihuman/img/recognition
参数: 通过multipart/form-data提交图片文件
作用: 提交图片检测任务,检测图片中是否包含人、类人、拟人等主体
15.2 视频生成
接口: POST /api/ark/omnihuman/video/submit/task
参数:
img_input: 输入的图片,支持链接+文件流audio_input: 输入的音频,支持链接+文件流
作用: 提交视频生成任务 返回: {"status": True, 'data': '任务id', 'msg': '信息'}
15.3 查询任务状态
接口: GET /api/ark/omnihuman/task/status
参数:
task_id: 任务IDtask_type(可选): 任务类型,支持face_detect, video_generate,默认face_detect
作用: 查询图片检测或视频生成任务的状态
16. 火山数字人接口模块
16.1 上传视频生成云ID
接口: POST /api/ark/digital/url2vid
参数: 通过multipart/form-data提交
- 仅支持mp4格式的视频
- 视频时长较长时,建议使用链接
作用: 异步上传视频生成视频云ID
16.2 创建数字人
接口: POST /api/ark/digital/create
参数: 通过application/x-www-form-urlencoded提交
作用: 提交创建数字人任务
16.3 生成数字人视频
接口: POST /api/ark/digital/video/submit/task
参数: 通过multipart/form-data提交
作用: 生成数字人视频
16.4 查询任务状态
接口: GET /api/ark/digital/task/status
参数:
task_id: 任务IDtask_type(可选): 任务类型,支持upload, create_digital, video_generate,默认video_generate
作用: 查询不同类型任务的状态
- upload: 上传视频文件
- create_digital: 创建数字人
- video_generate: 视频生成
17. LLM调用模块
17.1 获取支持的模型列表
接口: GET /api/llm/model/list
作用: 获取支持的LLM模型列表
17.2 调用大模型进行推理
接口: POST /api/llm/chat
参数: 通过application/x-www-form-urlencoded提交
- 支持多种LLM模型
- 可配置温度、最大token等参数
作用: 调用大模型进行文本推理
17.3 调用Google推理
接口: POST /api/llm/google/chat
参数: 通过application/x-www-form-urlencoded提交
作用: 专门调用Google Gemini模型进行推理
17.4 Gemini多模态分析(同步)
接口: POST /api/llm/google/sync/media/analysis
参数: 通过application/x-www-form-urlencoded提交
text_prompt: 分析提示词media_uri: 媒体文件URI
作用: 同步进行Gemini多模态分析,支持视频、音频、图片,适合小文件
17.5 Gemini多模态分析(异步)
接口: POST /api/llm/google/async/media/analysis
参数: 通过application/x-www-form-urlencoded提交
text_prompt: 分析提示词media_uri: 媒体文件URI
作用: 异步进行Gemini多模态分析,适合需要长时间的推理过程
17.6 上传文件到Google存储
接口: POST /api/llm/google/vertex-ai/upload
参数: 通过multipart/form-data提交
local_file: 本地文件,支持音频、视频、图片
作用: 上传文件到谷歌存储,用于Gemini视觉功能 返回格式:
{
"status": "状态信息, true 成功, false 失败",
"data": "gs://fashion_image_block/gallery_v2/mp4/1f76996f-a13e-450e-8c86-029c398932c4.mp4",
"msg": "",
"extra": "原始信息"
}
17.7 查询推理过程结果
接口: GET /api/llm/task/status
参数:
task_id: 任务ID
作用: 查询LLM推理任务的状态和结果 返回说明: status值为字符串时标识任务运行状态,为布尔值时标识任务运行完毕
18. 提示词预处理模块 [已弃用]
18.1 获取示例提示词 [已弃用]
接口: GET /api/prompt/default
参数:
task_type(可选): 任务类型
作用: 获取示例提示词 状态: 已弃用
18.2 健康检测
接口: GET /api/prompt/health
作用: 检查提示词预处理服务的健康状态
接口组合调用关系与应用场景
场景1: 稳定图片生成流程
-
获取模型列表 →
GET /api/custom/model/list?category=image- 获取支持的图片生成模型
-
提交生成任务 →
POST /api/custom/image/submit/task- 提交图片生成任务
-
轮询任务状态 →
GET /api/custom/task/status- 定期查询任务进度直到完成
-
文件上传 →
POST /api/file/upload/s3- 将生成的图片上传到云存储
场景2: 图片到视频的完整流程
-
上传参考图片 →
POST /api/file/upload/s3- 上传用户的参考图片
-
提交视频生成任务 →
POST /api/custom/video/submit/task- 使用图片和提示词生成视频
-
查询任务状态 →
GET /api/custom/task/status- 监控视频生成进度
-
保存到模板 →
POST /api/template/create- 将成功的配置保存为模板
场景3: 模板化批量生产
-
获取模板列表 →
GET /api/template/default- 获取可用的视频模板
-
检查任务类型 →
GET /api/template/check/task_type- 确认任务类型可用性
-
批量任务提交 →
POST /api/task/create/task/v2- 基于模板批量提交任务
-
状态监控 →
GET /api/task/status/{task_id}- 监控所有任务的执行状态
场景4: 多模型对比生成
-
获取模型列表 →
GET /api/union/img/model/list- 获取支持的图片生成模型
-
并行提交任务 →
POST /api/union/img/sync/generate/image- 使用不同模型生成同一提示词
-
结果对比分析
- 比较不同模型的生成效果
场景5: 声音克隆与TTS
-
上传音频素材 →
POST /api/302/hl_router/sync/file/upload- 上传用于克隆的音频文件
-
执行声音克隆 →
POST /api/302/hl_router/sync/voice/clone- 创建个性化音色
-
查询音色列表 →
GET /api/302/hl_router/sync/get/voices- 获取可用的音色ID
-
生成语音 →
POST /api/302/hl_router/sync/generate/speech- 使用克隆的音色生成语音
场景6: 工作流自动化
-
获取运行节点 →
GET /api/comfy/fetch/running/node- 获取可用的ComfyUI节点
-
提交工作流 →
POST /api/comfy/async/submit/task- 提交复杂的AI处理工作流
-
监控执行 →
GET /api/comfy/async/task/status- 跟踪工作流执行状态
场景7: 图片反推与再生成
-
上传图片 →
POST /api/302/mj/sync/file/img/describe- 上传图片获取描述提示词
-
重新生成 →
POST /api/302/mj/sync/image- 基于提示词重新生成
场景8: 多平台视频生成对比
-
准备素材 →
POST /api/file/upload/s3- 上传参考图片
-
并行生成:
POST /api/302/jm/sync/generate/video(302AI 极梦)POST /api/302/mj/video/sync/generate/video(302AI MJ)POST /api/302/veo/video/sync/generate/video(302AI VEO)
-
效果对比
- 比较不同平台的生成效果和速度
场景9: 口型合成与语音生成
-
上传素材 →
POST /api/302/hedra/v3/file/upload- 上传人物图片和音频文件
-
声音克隆 →
POST /api/302/hl_router/sync/voice/clone- 基于音频文件创建个性化音色
-
生成语音 →
POST /api/302/hl_router/sync/generate/speech- 使用克隆的音色生成新的语音
-
口型合成 →
POST /api/302/hedra/v3/submit/task- 将生成的语音与人物图片进行口型同步
-
查询结果 →
GET /api/302/hedra/v3/task/status- 获取最终的口型合成视频
场景10: 数字人视频生成
-
上传训练视频 →
POST /api/ark/digital/url2vid- 上传mp4格式的训练视频
-
创建数字人 →
POST /api/ark/digital/create- 基于训练视频创建数字人模型
-
查询创建状态 →
GET /api/ark/digital/task/status?task_type=create_digital- 监控数字人创建进度
-
生成数字人视频 →
POST /api/ark/digital/video/submit/task- 使用创建的数字人生成视频
-
查询生成状态 →
GET /api/ark/digital/task/status?task_type=video_generate- 监控视频生成进度
场景11: LLM多模态分析
-
上传媒体文件 →
POST /api/llm/google/vertex-ai/upload- 上传图片、视频或音频到Google存储
-
提交分析任务 →
POST /api/llm/google/async/media/analysis- 使用Gemini进行多模态分析
-
查询分析结果 →
GET /api/llm/task/status- 获取分析结果
场景12: 特殊模型应用
-
获取特殊模型列表 →
GET /api/custom/extend/model/list- 查看可用的特殊模型
-
Higgsfield角色创建 →
POST /api/custom/extend/higgsfield/create/character- 创建专属角色
-
角色生图 →
POST /api/custom/extend/higgsfield/submit/task- 使用创建的角色生成图片
-
首尾帧视频 →
POST /api/custom/extend/frame/submit/task- 基于首尾帧生成视频
场景13: 火山引擎OmniHuman应用
-
图片人脸检测 →
POST /api/ark/omnihuman/img/recognition- 检测图片中的人脸信息
-
查询检测结果 →
GET /api/ark/omnihuman/task/status?task_type=face_detect- 获取人脸检测结果
-
提交视频生成 →
POST /api/ark/omnihuman/video/submit/task- 基于图片和音频生成视频
-
查询生成结果 →
GET /api/ark/omnihuman/task/status?task_type=video_generate- 获取视频生成结果
数据结构说明
通用响应格式
FileUploadResponse
{
"status": boolean, // 上传状态
"msg": string, // 响应消息
"data": string|null // 文件URL
}
TaskRequest
{
"task_type": string|null, // 任务类型 (tea/chop/lady/vlog)
"prompt": string, // 生成提示词
"img_url": string|null, // 参考图片URL
"ar": string // 长宽比,默认9:16
}
VideoRequest
{
"prompt": string // 视频生成提示词
}
错误响应格式
HTTPValidationError
{
"detail": [
{
"loc": [string|integer], // 错误位置
"msg": string, // 错误消息
"type": string // 错误类型
}
]
}
最佳实践建议
1. 错误处理
- 所有接口都返回422状态码表示验证错误
- 建议实现重试机制,特别是对于网络相关的操作
- 异步任务应该实现超时处理
- 对于长时间运行的任务,建议设置合理的轮询间隔
2. 性能优化
- 文件上传: 优先使用S3上传接口而非COS接口,支持CDN加速
- 任务处理: 对于大批量任务,使用异步接口避免阻塞
- 轮询策略: 合理设置轮询间隔,避免过于频繁的状态查询
- 并发控制: 控制并发任务数量,避免系统过载
3. 资源管理
- 及时清理不需要的任务和文件
- 使用取消接口停止不需要的任务 (
POST /api/302/mj/task/cancel) - 合理配置超时时间,避免资源浪费
- 实现任务队列管理,优化资源利用
4. 安全考虑
- 文件验证: 验证上传文件的类型和大小,特别是音频、图片、视频文件
- 内容审核: 对用户输入的提示词进行预审,防止生成不当内容
- 访问控制: 实现适当的访问控制和频率限制
- 数据保护: 保护用户上传的文件和生成的内容,特别是声音克隆等敏感数据
- 隐私保护: 对于声音克隆和口型合成等涉及个人特征的功能,需要特别注意隐私保护
5. 用户体验
- 进度反馈: 为长时间运行的任务提供进度反馈
- 队列管理: 实现任务队列管理,避免用户等待
- 历史记录: 提供任务历史记录和结果缓存
- 错误提示: 提供友好的错误提示和解决建议
6. 开发建议
- 接口选择: 根据需求选择同步或异步接口
- 模型选择: 根据质量要求选择合适的模型 (lite/pro)
- 参数调优: 合理设置等待时间和轮询间隔
- 监控告警: 实现任务监控和异常告警机制
总结
Text Video Agent API 提供了一个完整的AI内容生成生态系统,支持从简单的图片生成到复杂的多模态内容创作、数字人生成、LLM推理等功能。通过合理的接口组合,可以实现丰富的应用场景,从个人创作工具到企业级内容生产平台。
核心优势
- 多平台支持: 集成了302AI、极梦、火山引擎、Hedra、海螺、Google Gemini等多个AI服务提供商
- 功能完整: 涵盖图片生成、视频生成、音频生成、口型合成、声音克隆、数字人生成、LLM推理、工作流处理等全链路功能
- 灵活调用: 提供同步和异步两种调用模式,满足不同性能需求
- 模板化: 支持视频模板管理,便于批量生产和标准化流程
- 聚合接口: 提供统一的接口访问多种模型,简化开发复杂度
- 多模态融合: 支持图片、视频、音频的综合处理和分析
- 企业级功能: 支持数字人创建、特殊模型应用、工作流自动化
技术特点
- RESTful设计: 遵循现代API设计原则,接口清晰易用
- 异步处理: 支持长时间运行的AI任务异步处理
- 文件管理: 完善的文件上传和存储解决方案,支持多种文件格式
- 错误处理: 统一的错误响应格式和验证机制
- 扩展性: 模块化设计,便于功能扩展和维护
- 版本管理: 支持API版本迭代和功能升级
- 多媒体支持: 全面支持图片、音频、视频等多种媒体格式
- 云原生: 支持多种云存储和计算平台
新增功能亮点
- 🔥稳定生成接口: 提供更稳定可靠的图片和视频生成服务
- 🔥特殊模型支持: 集成Higgsfield Soul、首尾帧视频生成等特殊模型
- 火山引擎集成: 支持OmniHuman人脸检测和数字人生成
- LLM多模态分析: 集成Google Gemini进行视频、音频、图片分析
- Hedra 3.0口型合成: 提供最新版本的高质量口型同步功能
- 海螺语音服务: 集成专业的TTS和声音克隆功能
- 302AI聚合服务: 统一多个AI服务提供商的接口
- ComfyUI工作流: 支持复杂的AI处理工作流
应用场景扩展
- 内容创作: 图片生成、视频制作、音频合成
- 数字人应用: 虚拟主播、客服机器人、教育培训
- 多媒体分析: 视频内容理解、音频转录、图片识别
- 工作流自动化: 批量处理、模板化生产
- 企业级应用: 品牌营销、产品展示、培训材料
开发建议
建议开发者根据具体应用场景选择合适的接口组合,并实现完善的错误处理和用户反馈机制。特别注意:
- 性能优化: 合理使用同步/异步接口,避免长时间阻塞
- 资源管理: 及时清理临时文件和任务,控制并发数量
- 隐私保护: 在使用声音克隆、数字人生成等功能时注意隐私保护
- 合规使用: 确保生成内容符合相关法律法规要求
- 监控告警: 实现完善的任务监控和异常处理机制
Rust SDK 生成指南
使用 OpenAPI Generator 可以快速生成 Rust SDK:
# 使用 Docker 生成 Rust SDK
docker run --rm -v ${PWD}:/local openapitools/openapi-generator-cli generate \
-i /local/openapi.json \
-g rust \
-o /local/text-video-agent-rust-sdk \
--additional-properties=packageName=text_video_agent_client,packageVersion=1.0.6,supportAsync=true,library=reqwest
# 生成的 SDK 将包含:
# - 完整的 API 客户端代码
# - 类型定义和数据结构
# - 异步支持(基于 tokio)
# - 错误处理机制
# - 文档和示例
生成的 Rust SDK 将提供类型安全的 API 调用接口,支持异步操作,便于 Rust 开发者快速集成 Text Video Agent API 的各项功能。