mixvideo-v2/openapi.md

1193 lines
33 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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开始默认1
- `page_size` (可选): 每页记录数默认100最大1000
- `category` (可选): 模版分类标签,默认"全部"
**作用**: 获取视频模板列表,支持分页和按任务类型筛选
**返回**:
```json
{
"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字段且唯一
**示例数据**:
```json
{
"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` (可选): 视频时长(秒)默认5
- `max_wait_time` (可选): 最大等待时间默认300秒
- `poll_interval` (可选): 轮询间隔默认5秒
- `model_type` (可选): 模型类型支持lite/pro默认lite
#### 3.2 同步生成视频v2
**接口**: `POST /api/jm/sync/generate/video`
**参数**:
- `prompt`: 视频生成提示词
- `img_file`: 上传的图片文件
- `duration` (可选): 视频时长(秒)默认5
- `max_wait_time` (可选): 最大等待时间默认300秒
- `poll_interval` (可选): 轮询间隔默认5秒
- `model_type` (可选): 模型类型默认lite
**作用**: 支持通过图片文件生成视频,同步返回结果
#### 3.3 异步生成视频
**接口**: `POST /api/jm/async/generate/video`
**参数**:
- `prompt`: 视频生成提示词
- `img_url` (可选): 图片URL地址
- `img_file` (可选): 上传的图片文件
- `duration` (可选): 视频时长(秒)默认5
- `model_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` (可选): 参考图片URL
- `ar` (可选): 生成图片的长宽比默认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`: 任务ID
- `task_type` (可选): 任务类型image(生图)/describe(反推提示词)默认image
- `cdn_flag` (可选): 是否CDN转换默认falseCDN转换耗时
- `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` (可选): 视频时长(秒)默认5
- `max_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` (可选): 视频时长(秒)默认5
- `model_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`: 任务ID
- `img_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 ID
- `speed` (可选): 语速 [0.5, 2]默认1.0
- `vol` (可选): 音量 (0,10]默认1.0
- `emotion` (可选): 情感 ["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` (可选): 是否开启降噪默认true
- `voice_id` (可选): 音色克隆voice_id
- `prefix` (可选): 音色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-t2i
- `prompt`: 生图提示词
- `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_i2v
- `duration` (可选): 视频时长默认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`: 任务ID
- `task_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`: 任务ID
- `task_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视觉功能
**返回格式**:
```json
{
"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: 稳定图片生成流程
1. **获取模型列表**`GET /api/custom/model/list?category=image`
- 获取支持的图片生成模型
2. **提交生成任务**`POST /api/custom/image/submit/task`
- 提交图片生成任务
3. **轮询任务状态**`GET /api/custom/task/status`
- 定期查询任务进度直到完成
4. **文件上传**`POST /api/file/upload/s3`
- 将生成的图片上传到云存储
### 场景2: 图片到视频的完整流程
1. **上传参考图片**`POST /api/file/upload/s3`
- 上传用户的参考图片
2. **提交视频生成任务**`POST /api/custom/video/submit/task`
- 使用图片和提示词生成视频
3. **查询任务状态**`GET /api/custom/task/status`
- 监控视频生成进度
4. **保存到模板**`POST /api/template/create`
- 将成功的配置保存为模板
### 场景3: 模板化批量生产
1. **获取模板列表**`GET /api/template/default`
- 获取可用的视频模板
2. **检查任务类型**`GET /api/template/check/task_type`
- 确认任务类型可用性
3. **批量任务提交**`POST /api/task/create/task/v2`
- 基于模板批量提交任务
4. **状态监控**`GET /api/task/status/{task_id}`
- 监控所有任务的执行状态
### 场景4: 多模型对比生成
1. **获取模型列表**`GET /api/union/img/model/list`
- 获取支持的图片生成模型
2. **并行提交任务**`POST /api/union/img/sync/generate/image`
- 使用不同模型生成同一提示词
3. **结果对比分析**
- 比较不同模型的生成效果
### 场景5: 声音克隆与TTS
1. **上传音频素材**`POST /api/302/hl_router/sync/file/upload`
- 上传用于克隆的音频文件
2. **执行声音克隆**`POST /api/302/hl_router/sync/voice/clone`
- 创建个性化音色
3. **查询音色列表**`GET /api/302/hl_router/sync/get/voices`
- 获取可用的音色ID
4. **生成语音**`POST /api/302/hl_router/sync/generate/speech`
- 使用克隆的音色生成语音
### 场景6: 工作流自动化
1. **获取运行节点**`GET /api/comfy/fetch/running/node`
- 获取可用的ComfyUI节点
2. **提交工作流**`POST /api/comfy/async/submit/task`
- 提交复杂的AI处理工作流
3. **监控执行**`GET /api/comfy/async/task/status`
- 跟踪工作流执行状态
### 场景7: 图片反推与再生成
1. **上传图片**`POST /api/302/mj/sync/file/img/describe`
- 上传图片获取描述提示词
2. **重新生成**`POST /api/302/mj/sync/image`
- 基于提示词重新生成
### 场景8: 多平台视频生成对比
1. **准备素材**`POST /api/file/upload/s3`
- 上传参考图片
2. **并行生成**:
- `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)
3. **效果对比**
- 比较不同平台的生成效果和速度
### 场景9: 口型合成与语音生成
1. **上传素材**`POST /api/302/hedra/v3/file/upload`
- 上传人物图片和音频文件
2. **声音克隆**`POST /api/302/hl_router/sync/voice/clone`
- 基于音频文件创建个性化音色
3. **生成语音**`POST /api/302/hl_router/sync/generate/speech`
- 使用克隆的音色生成新的语音
4. **口型合成**`POST /api/302/hedra/v3/submit/task`
- 将生成的语音与人物图片进行口型同步
5. **查询结果**`GET /api/302/hedra/v3/task/status`
- 获取最终的口型合成视频
### 场景10: 数字人视频生成
1. **上传训练视频**`POST /api/ark/digital/url2vid`
- 上传mp4格式的训练视频
2. **创建数字人**`POST /api/ark/digital/create`
- 基于训练视频创建数字人模型
3. **查询创建状态**`GET /api/ark/digital/task/status?task_type=create_digital`
- 监控数字人创建进度
4. **生成数字人视频**`POST /api/ark/digital/video/submit/task`
- 使用创建的数字人生成视频
5. **查询生成状态**`GET /api/ark/digital/task/status?task_type=video_generate`
- 监控视频生成进度
### 场景11: LLM多模态分析
1. **上传媒体文件**`POST /api/llm/google/vertex-ai/upload`
- 上传图片、视频或音频到Google存储
2. **提交分析任务**`POST /api/llm/google/async/media/analysis`
- 使用Gemini进行多模态分析
3. **查询分析结果**`GET /api/llm/task/status`
- 获取分析结果
### 场景12: 特殊模型应用
1. **获取特殊模型列表**`GET /api/custom/extend/model/list`
- 查看可用的特殊模型
2. **Higgsfield角色创建**`POST /api/custom/extend/higgsfield/create/character`
- 创建专属角色
3. **角色生图**`POST /api/custom/extend/higgsfield/submit/task`
- 使用创建的角色生成图片
4. **首尾帧视频**`POST /api/custom/extend/frame/submit/task`
- 基于首尾帧生成视频
### 场景13: 火山引擎OmniHuman应用
1. **图片人脸检测**`POST /api/ark/omnihuman/img/recognition`
- 检测图片中的人脸信息
2. **查询检测结果**`GET /api/ark/omnihuman/task/status?task_type=face_detect`
- 获取人脸检测结果
3. **提交视频生成**`POST /api/ark/omnihuman/video/submit/task`
- 基于图片和音频生成视频
4. **查询生成结果**`GET /api/ark/omnihuman/task/status?task_type=video_generate`
- 获取视频生成结果
---
## 数据结构说明
### 通用响应格式
#### FileUploadResponse
```json
{
"status": boolean, // 上传状态
"msg": string, // 响应消息
"data": string|null // 文件URL
}
```
#### TaskRequest
```json
{
"task_type": string|null, // 任务类型 (tea/chop/lady/vlog)
"prompt": string, // 生成提示词
"img_url": string|null, // 参考图片URL
"ar": string // 长宽比默认9:16
}
```
#### VideoRequest
```json
{
"prompt": string // 视频生成提示词
}
```
### 错误响应格式
#### HTTPValidationError
```json
{
"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推理等功能。通过合理的接口组合可以实现丰富的应用场景从个人创作工具到企业级内容生产平台。
### 核心优势
1. **多平台支持**: 集成了302AI、极梦、火山引擎、Hedra、海螺、Google Gemini等多个AI服务提供商
2. **功能完整**: 涵盖图片生成、视频生成、音频生成、口型合成、声音克隆、数字人生成、LLM推理、工作流处理等全链路功能
3. **灵活调用**: 提供同步和异步两种调用模式,满足不同性能需求
4. **模板化**: 支持视频模板管理,便于批量生产和标准化流程
5. **聚合接口**: 提供统一的接口访问多种模型,简化开发复杂度
6. **多模态融合**: 支持图片、视频、音频的综合处理和分析
7. **企业级功能**: 支持数字人创建、特殊模型应用、工作流自动化
### 技术特点
- **RESTful设计**: 遵循现代API设计原则接口清晰易用
- **异步处理**: 支持长时间运行的AI任务异步处理
- **文件管理**: 完善的文件上传和存储解决方案,支持多种文件格式
- **错误处理**: 统一的错误响应格式和验证机制
- **扩展性**: 模块化设计,便于功能扩展和维护
- **版本管理**: 支持API版本迭代和功能升级
- **多媒体支持**: 全面支持图片、音频、视频等多种媒体格式
- **云原生**: 支持多种云存储和计算平台
### 新增功能亮点
1. **🔥稳定生成接口**: 提供更稳定可靠的图片和视频生成服务
2. **🔥特殊模型支持**: 集成Higgsfield Soul、首尾帧视频生成等特殊模型
3. **火山引擎集成**: 支持OmniHuman人脸检测和数字人生成
4. **LLM多模态分析**: 集成Google Gemini进行视频、音频、图片分析
5. **Hedra 3.0口型合成**: 提供最新版本的高质量口型同步功能
6. **海螺语音服务**: 集成专业的TTS和声音克隆功能
7. **302AI聚合服务**: 统一多个AI服务提供商的接口
8. **ComfyUI工作流**: 支持复杂的AI处理工作流
### 应用场景扩展
- **内容创作**: 图片生成、视频制作、音频合成
- **数字人应用**: 虚拟主播、客服机器人、教育培训
- **多媒体分析**: 视频内容理解、音频转录、图片识别
- **工作流自动化**: 批量处理、模板化生产
- **企业级应用**: 品牌营销、产品展示、培训材料
### 开发建议
建议开发者根据具体应用场景选择合适的接口组合,并实现完善的错误处理和用户反馈机制。特别注意:
1. **性能优化**: 合理使用同步/异步接口,避免长时间阻塞
2. **资源管理**: 及时清理临时文件和任务,控制并发数量
3. **隐私保护**: 在使用声音克隆、数字人生成等功能时注意隐私保护
4. **合规使用**: 确保生成内容符合相关法律法规要求
5. **监控告警**: 实现完善的任务监控和异常处理机制
## Rust SDK 生成指南
使用 OpenAPI Generator 可以快速生成 Rust SDK
```bash
# 使用 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 的各项功能。