Appearance
内容生成
系统支持通过多种 AI 模型生成图片、视频和文本。
工作流程
生成器查询
获取可用生成器
GET /api/v1/generators/images # 图片生成器列表
GET /api/v1/generators/videos # 视频生成器列表响应示例:
json
[
{
"id": "a1b2c3d4-...",
"name": "高清图片生成",
"type": "nano_banana",
"description": "基于先进模型的高质量图片生成",
"base_cost": 10,
"is_active": true
}
]获取生成参数 Schema
GET /api/v1/generations/schemas?generator_id={id}返回该生成器接受的请求参数定义(JSON Schema 格式),客户端据此构建请求表单。
提交生成任务
图片生成
POST /api/v1/generations/imagesjson
{
"generator_id": "a1b2c3d4-...",
"prompt": "一只在星空下奔跑的狐狸",
"aspect_ratio": "16:9",
"count": 2
}注意
不同生成器的请求参数不同,请先通过 Schema 端点获取参数定义。上面的示例仅展示通用字段。
视频生成
POST /api/v1/generations/videosjson
{
"generator_id": "b2c3d4e5-...",
"prompt": "航拍城市夜景",
"duration": 5,
"reference_file_ids": ["c3d4e5f6-..."]
}文本生成
POST /api/v1/generations/textsjson
{
"generator_id": "c3d4e5f6-...",
"prompt": "写一篇关于AI发展的短文"
}生成响应
json
{
"file_ids": ["d4e5f6a7-..."],
"status": "pending"
}提交后通过 /files/{file_id} 查询状态:
| 状态 | 说明 |
|---|---|
pending | 排队中 |
processing | 生成中 |
completed | 已完成(可获取下载链接) |
failed | 失败(查看 error_message 字段) |
费用计算
- 每个生成器有
base_cost(基础狐币消耗) - 提交前系统检查余额,不足时返回
402 Payment Required - 失败的任务自动退款
测试要点
测试建议
- 余额不足:余额低于 base_cost 时提交应返回
402 - 无效 generator_id:不存在的生成器应返回
404 - 参数验证:不符合 Schema 的参数应返回
422 - 生成失败退款:上游服务失败时狐币应自动退还
- 文件引用:视频生成中引用不存在的
reference_file_ids应报错 - 并发提交:多个生成任务同时提交时的余额扣减准确性
- 上游超时:上游服务超时应返回
504,上游限流应返回529