870 lines
23 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.

# llmage API 文档
Base Path: `/llmage/v1`
所有 API 端点需要 Bearer Token 认证(`logined` 权限)。
---
## POST /v1/chat/completions
文本生成接口,兼容 OpenAI 格式。
### 必填参数
| 参数 | 类型 | 说明 |
|------|------|------|
| `model` | string | 模型名称,如 `"qwen3-max"` |
| `messages``prompt` | array / string | 对话消息数组或文本提示 |
### 可选参数
| 参数 | 类型 | 说明 |
|------|------|------|
| `catelogid` | string | 目录类型ID默认 `"t2t"`,也支持中文名(向后兼容) |
| `stream` | boolean | 是否启用流式输出 |
| `off_peak` | boolean | 是否使用非高峰时段 |
| `transno` | string | 交易流水号(不传则自动生成) |
### 请求示例
```json
{
"model": "qwen3-max",
"messages": [
{"role": "user", "content": "Hello"}
],
"stream": false
}
```
### 响应格式
**非流式响应:**
```json
{
"id": "luid_xxx",
"object": "chat.completion",
"model": "qwen3-max",
"choices": [{
"index": 0,
"message": {"role": "assistant", "content": "Hi there!"},
"finish_reason": "stop"
}],
"usage": {"prompt_tokens": 10, "completion_tokens": 5, "total_tokens": 15}
}
```
**流式响应 (SSE):**
```
data: {"choices": [{"delta": {"content": "Hi"}, "index": 0}]}
data: {"choices": [{"delta": {"content": " there!"}, "index": 0}]}
data: [DONE]
```
### 错误响应
| 状态码 | 说明 |
|--------|------|
| 400 | 缺少必填参数或模型不存在 |
| 403 | 未登录 |
| 429 | 账户余额不足 |
---
## POST /v1/video/generations
视频生成接口。
### 必填参数
| 参数 | 类型 | 说明 |
|------|------|------|
| `model` | string | 模型名称,如 `"keling-2.1"` |
| `catelogid` | string | 目录类型ID`"t2v"` / `"i2v"` / `"r2v"` |
| `prompt` | string | 生成提示词 |
### 可选参数
| 参数 | 类型 | 说明 |
|------|------|------|
| `image_url` | string | 图生视频时提供参考图 URL |
| `duration` | string | 视频时长,如 `"5s"` |
| `resolution` | string | 分辨率,如 `"1080p"` |
| `n` | integer | 生成数量 |
| `transno` | string | 交易流水号 |
### 请求示例
```json
{
"model": "keling-2.1",
"catelogid": "t2v",
"prompt": "A beautiful sunset over the ocean",
"duration": "5s",
"resolution": "1080p"
}
```
### 响应格式
视频生成通常为异步任务,提交后返回任务信息:
```json
{
"id": "luid_xxx",
"object": "video.generation",
"model": "keling-2.1",
"status": "submitted",
"taskid": "task_xxx",
"created": 1716912000
}
```
通过 `/v1/tasks?taskid=xxx` 查询任务状态。
### 各模型输入参数明细
> 以下为各平台/模型的具体输入参数。调用时通过 `model` + `catelogid` 自动路由到对应供应商。
---
#### Vidu 平台
##### T2V - 文生视频
| 参数名 | 类型 | 必填 | 默认值 | 说明 | 可选值 |
|--------|------|------|--------|------|--------|
| `model` | string | 是 | `viduq3-pro` | 模型名称 | `viduq3-turbo`, `viduq3-pro` |
| `prompt` | string | 是 | - | 提示词 | - |
| `off_peak` | string | 否 | `N` | 错峰执行 | `Y`, `N` |
| `duration` | integer | 否 | `10` | 视频长度1-16秒 | 1-16 |
| `ratio` | string | 否 | `16:9` | 长宽比 | `16:9`, `9:16`, `4:3`, `3:4`, `1:1` |
| `resolution` | string | 否 | `1080p` | 分辨率 | `540p`, `720p`, `1080p` |
##### I2V - 图生视频
| 参数名 | 类型 | 必填 | 默认值 | 说明 | 可选值 |
|--------|------|------|--------|------|--------|
| `model` | string | 是 | `viduq3-pro` | 模型名称 | `viduq3-pro`, `viduq3-turbo` |
| `prompt` | string | 是 | - | 提示词 | - |
| `image_file` | image | 是 | - | 首帧图片 | - |
| `off_peak` | string | 否 | `N` | 错峰执行 | `Y`, `N` |
| `duration` | integer | 否 | `10` | 视频长度1-16秒 | 1-16 |
| `ratio` | string | 否 | `16:9` | 长宽比 | `16:9`, `9:16`, `4:3`, `3:4`, `1:1` |
| `resolution` | string | 否 | `1080p` | 分辨率 | `540p`, `720p`, `1080p` |
##### 2I2V - 首尾帧生视频
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|--------|------|------|--------|------|
| `model` | string | 否 | `viduq2` | 模型名称 |
| `payload` | string | 是 | `2i2v` | 固定值 |
| `off_peak` | boolean | 否 | `false` | 错峰模式 |
| `images` | array | 是 | - | 两张图片URL `[首帧, 尾帧]` |
| `duration` | integer | 否 | `10` | 视频时长 |
| `prompt` | string | 是 | - | 提示词 |
| `audio` | boolean | 否 | `true` | 音频直出 |
| `seed` | integer | 否 | `12345` | 随机种子 |
| `aspect_ratio` | string | 否 | `16:9` | 画面比例 |
| `resolution` | string | 否 | `1080p` | 分辨率 |
##### Ref2V - 参考生视频 v2主体模式
> 使用主体(图片/视频/文字)生成视频,支持 viduq3-turbo/q3/q2-pro/q2/q1/2.0
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| `model` | string | 是 | 模型名称 |
| `subjects` | array | 是 | 主体列表最多7个图片/文字主体每个主体最多3张图 |
| `prompt` | string | 是 | 提示词 |
| `audio` | boolean | 否 | 音视频直出 |
| `audio_type` | string | 否 | 音频类型 |
| `duration` | integer | 否 | 视频时长 |
| `seed` | integer | 否 | 随机种子 |
| `aspect_ratio` | string | 否 | 画面比例 |
| `resolution` | string | 否 | 分辨率 |
| `movement_amplitude` | string | 否 | 运动幅度 |
| `off_peak` | boolean | 否 | 错峰模式 |
| `auto_subjects` | boolean | 否 | 智能主体 |
##### Ref2V - 参考生视频 v2非主体模式
> 直接上传图片参考生成视频,支持 viduq3-mix/q3-turbo/q3/q2-pro/q2/q1/2.0
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| `model` | string | 是 | 模型名称 |
| `images` | array | 是 | 参考图片URL列表1-7张 |
| `videos` | array | 否 | 参考视频URL列表仅viduq2-pro |
| `prompt` | string | 是 | 提示词 |
| `audio` | boolean | 否 | 音视频直出 |
| `bgm` | boolean | 否 | 背景音乐 |
| `duration` | integer | 否 | 视频时长 |
| `seed` | integer | 否 | 随机种子 |
| `aspect_ratio` | string | 否 | 画面比例 |
| `resolution` | string | 否 | 分辨率 |
| `off_peak` | boolean | 否 | 错峰模式 |
##### Ref2V - 参考生视频 v1
| 参数名 | 类型 | 必填 | 默认值 | 说明 | 可选值 |
|--------|------|------|--------|------|--------|
| `model` | string | 是 | `viduq2-pro` | 模型名称 | `viduq2`, `viduq1`, `vidu2.0` |
| `prompt` | string | 是 | - | 提示词 | - |
| `off_peak` | string | 否 | `N` | 错峰执行 | `Y`, `N` |
| `duration` | integer | 否 | `10` | 视频长度 | - |
| `ratio` | string | 否 | `16:9` | 长宽比 | `16:9`, `9:16`, `4:3`, `3:4`, `1:1` |
| `resolution` | string | 否 | `1080p` | 分辨率 | `540p`, `720p`, `1080p` |
---
#### Seedance 平台(火山方舟)
##### T2V - 文生视频
| 参数名 | 类型 | 必填 | 默认值 | 说明 | 可选值 |
|--------|------|------|--------|------|--------|
| `model` | string | 是 | `doubao-seedance-2-0-260128` | 模型名称 | `doubao-seedance-2-0-260128`, `doubao-seedance-2-0-fast-260128` |
| `prompt` | string | 是 | - | 提示词 | - |
| `resolution` | string | 否 | `720p` | 尺寸 | `480p`, `720p`, `1080p` |
| `duration` | integer | 否 | `8` | 视频长度 | - |
| `ratio` | string | 否 | `1:1` | 宽高比 | `1:1`, `16:9`, `9:16`, `4:3`, `3:4`, `21:9`, `9:21` |
##### TI2V - 文图生视频
| 参数名 | 类型 | 必填 | 默认值 | 说明 | 可选值 |
|--------|------|------|--------|------|--------|
| `model` | string | 是 | `doubao-seedance-2-0-260128` | 模型名称 | `doubao-seedance-2-0-260128`, `doubao-seedance-2-0-fast-260128` |
| `prompt` | string | 是 | - | 提示词 | - |
| `image1_file` | image | 是 | - | 首帧图片 | - |
| `image2_file` | image | 否 | - | 尾帧图片 | - |
| `resolution` | string | 否 | `720p` | 尺寸 | `480p`, `720p`, `1080p` |
| `duration` | integer | 否 | `8` | 视频长度 | - |
| `ratio` | string | 否 | `1:1` | 宽高比 | `1:1`, `16:9`, `9:16`, `4:3`, `3:4`, `21:9`, `9:21` |
##### Ref2V - 参考生视频
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|--------|------|------|--------|------|
| `model` | string | 是 | - | 模型名称 |
| `prompt` | string | 是 | - | 提示词 |
| `image_file` | image | 否 | - | 参考图片(支持数组,多张参考图) |
| `video_file` | video | 否 | - | 参考视频(支持数组) |
| `audio_file` | audio | 否 | - | 参考音频(支持数组) |
| `duration` | integer | 否 | `12` | 视频长度 |
| `resolution` | string | 否 | `720p` | 尺寸 |
| `ratio` | string | 否 | - | 宽高比 |
---
#### 通义万象DashScope
##### T2V - 文生视频
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|--------|------|------|--------|------|
| `model` | string | 是 | - | 模型名称(如 `wan2.6-t2v` |
| `prompt` | string | 是 | - | 提示词 |
| `negative_prompt` | string | 否 | - | 反向提示词 |
| `audio_file` | audio | 否 | - | 配音文件 |
| `size` | string | 否 | `1920*1080` | 视频尺寸 |
| `duration` | string | 否 | `15` | 视频时长 |
**size 可选值:** `832*480`, `480*832`, `624*624`, `1280*720`, `720*1280`, `960*960`, `1088*832`, `832*1088`, `1920*1080`, `1080*1920`, `1440*1440`, `1632*1248`, `1248*1632`
**duration 可选值:** `5`, `10`, `15`
##### I2V - 图生视频
可用模型:`wan2.6-i2v`, `wan2.6-i2v-flash`
> 输入参数与 T2V 类似,额外需要首帧图片。
##### 2I2V - 首尾帧生视频
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|--------|------|------|--------|------|
| `model` | string | 是 | - | 模型名称 |
| `prompt` | string | 是 | - | 提示词 |
| `negative_prompt` | string | 否 | - | 反向提示词 |
| `image1_file` | image | 是 | - | 首帧图片 |
| `image2_file` | image | 是 | - | 尾帧图片 |
| `resolution` | string | 否 | `1080P` | 分辨率 |
| `duration` | integer | - | `5` | 固定5秒 |
##### Ref2V - 角色参考生视频
> 参考输入视频中的角色形象和音色搭配提示词生成保持角色一致性的视频。可以输入1-3个人物视频每个视频一个角色。
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|--------|------|------|--------|------|
| `model` | string | 是 | - | 模型名称(如 `wan2.6-r2v` |
| `prompt` | string | 是 | - | 提示词 |
| `video1_file` | video | 是 | - | 角色一视频 |
| `video2_file` | video | 否 | - | 角色二视频 |
| `video3_file` | video | 否 | - | 角色三视频 |
| `size` | string | 否 | `1920*1080` | 视频尺寸 |
| `duration` | string | 否 | `10` | 视频时长 |
**size 可选值:** 同 T2V
**duration 可选值:** `10`, `15`
##### IA2V - 图像音频生视频
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| `image_file` | image | 是 | 图像 |
| `audio_file` | audio | 是 | 音频 |
---
#### 可灵Kling
##### T2V - 文生视频
| 参数名 | 类型 | 必填 | 默认值 | 说明 | 可选值 |
|--------|------|------|--------|------|--------|
| `model` | string | 是 | - | 模型名称 | `kling-v2-1-master`, `kling-v2-master`, `kling-v1-6`, `kling-v1` |
| `prompt` | string | 是 | - | 提示词 | - |
| `negative_prompt` | string | 否 | - | 反向提示词 | - |
---
#### 海螺Hailuo/MiniMax
##### TI2V - 图生视频
| 参数名 | 类型 | 必填 | 默认值 | 说明 | 可选值 |
|--------|------|------|--------|------|--------|
| `prompt` | string | 是 | - | 提示词 | - |
| `image_file` | image | 否 | - | 首帧图片 | - |
| `image_file1` | image | 否 | - | 尾帧图片 | - |
| `resolution` | string | 否 | `768P` | 尺寸 | `768P`, `1080P` |
| `duration` | integer | 否 | `6` | 视频长度 | `6`6秒, `10`10秒 |
---
#### 快乐马HappyHorse
> 基于通义万象平台tongyi-wan输入参数与通义万象对应类型一致。
##### T2V - 文生视频
输入参数同通义万象 T2V。可用模型`happyhorse-1.0-t2v`
##### I2V - 图生视频
输入参数同通义万象 I2V。可用模型`happyhorse-1.0-i2v`
> **注意:** 图片参数名为 `image_file`(非 `image_url`),传入图片 URL。
##### Ref2V - 参考生视频
输入参数同通义万象 Ref2V额外支持
| 参数名 | 说明 |
|--------|------|
| `resolution` | 可选 `1080P`(默认), `720P` |
| `ratio` | 可选 `16:9`(默认), `9:16`, `3:4`, `4:3` |
可用模型:`happyhorse-1.0-r2v`参考图像数量1-9张支持多角色参考
---
## POST /v1/image/generations
图像生成接口。
### 必填参数
| 参数 | 类型 | 说明 |
|------|------|------|
| `model` | string | 模型名称,如 `"jimeng-4.0"` |
| `catelogid` | string | 目录类型ID文生图固定为 `"t2i"` |
| `prompt` | string | 生成提示词 |
### 可选参数
| 参数 | 类型 | 说明 |
|------|------|------|
| `image_url` | string | 图生图时提供参考图 URL |
| `size` | string | 尺寸,如 `"1024x1024"` |
| `n` | integer | 生成数量 |
| `style` | string | 风格参数 |
| `quality` | string | 质量参数 |
| `transno` | string | 交易流水号 |
### 请求示例
```json
{
"model": "jimeng-4.0",
"catelogid": "t2i",
"prompt": "A beautiful sunset over the ocean",
"size": "1024x1024",
"n": 1
}
```
### 响应格式
响应格式取决于上游模型配置(同步返回图像数据,异步返回任务信息):
```json
{
"id": "luid_xxx",
"object": "image.generation",
"model": "jimeng-4.0",
"status": "submitted",
"taskid": "task_xxx",
"created": 1716912000
}
```
### 各模型输入参数明细
> 以下为各平台/模型的具体输入参数。调用时通过 `model` + `catelogid` 自动路由到对应供应商。
---
#### 百炼-万象文生图DashScope
##### T2I - 文生图
**异步模型**(需通过 `/v1/tasks?taskid=xxx` 查询状态):
| 参数名 | 类型 | 必填 | 默认值 | 说明 | 可选值 |
|--------|------|------|--------|------|--------|
| `model` | string | 是 | - | 模型名称 | 见下方模型列表 |
| `catelogid` | string | 是 | `t2i` | 目录类型ID文生图固定为 `t2i` | `t2i` |
| `prompt` | string | 是 | - | 提示词 | - |
| `size` | string | 否 | `1024*1024` | 图像尺寸 | `512*512`, `1024*1024`, `2048*2048` 等 |
| `n` | integer | 否 | `1` | 生成数量 | 1-4 |
**可用模型:**
| 模型名称 | 说明 | 查询周期 |
|----------|------|----------|
| `wan2.2-t2i-plus` | 万象专业版,在创意性、稳定性、写实质感上全面升级,生成细节丰富 | 10秒 |
| `wan2.5-t2i-preview` | 万象2.5 preview版在创意性、稳定性、写实质感上全面升级生成细节丰富 | 10秒 |
| `wan2.2-t2i-flash` | 万象极速版,快速生成,适合对速度要求高的场景 | 10秒 |
**响应示例(异步提交):**
```json
{
"status": "ok",
"data": {
"taskid": "task_xxx",
"status": "PENDING"
}
}
```
**查询任务状态(`/v1/tasks?taskid=task_xxx`**
```json
{
"status": "ok",
"data": {
"status": "SUCCEEDED",
"output": [
{
"url": "https://..."
}
],
"usage": {
"image_count": 1
}
}
}
```
---
#### 智谱CogViewZhipu
##### T2I - 文生图
**同步模型**(直接返回图像数据):
| 参数名 | 类型 | 必填 | 默认值 | 说明 | 可选值 |
|--------|------|------|--------|------|--------|
| `model` | string | 是 | `cogview-3-flash` | 模型名称 | `cogview-3-flash` |
| `catelogid` | string | 是 | `t2i` | 目录类型ID文生图固定为 `t2i` | `t2i` |
| `prompt` | string | 是 | - | 提示词 | - |
| `size` | string | 否 | `1024x1024` | 图像尺寸 | `512x512`, `1024x1024`, `2048x2048` 等 |
**可用模型:**
| 模型名称 | 说明 |
|----------|------|
| `cogview-3-flash` | CogView-3-Flash是一款免费的图像生成模型能够根据您的指令生成美学评分更高的图像。无论是艺术创作、设计参考还是娱乐用途cogview-3-flash都能满足您的需求 |
**响应示例(同步返回):**
```json
{
"status": "ok",
"data": {
"image": "https://...",
"usage": {
"image_count": 1
}
}
}
```
---
## GET /v1/tasks
查询异步任务状态。
### 必填参数
| 参数 | 类型 | 说明 |
|------|------|------|
| `taskid` | string | 任务 ID |
### 请求示例
```
GET /llmage/v1/tasks?taskid=task_xxx
```
### 响应格式
```json
{
"status": "ok",
"data": {
"status": "SUCCEEDED",
"output": [...]
}
}
```
任务状态值: `UNKNOWN` / `SUCCEEDED` / `FAILED`
---
## GET /v1/models
列出可用模型列表。
### 可选参数
| 参数 | 类型 | 说明 |
|------|------|------|
| `catelogid` | string | 按目录类型过滤 |
| `orderby` | string | 排序字段 |
### 请求示例
```
GET /llmage/v1/models
```
### 响应格式
```json
{
"object": "list",
"data": [
{
"id": "qwen3-max",
"object": "model",
"created": 1748044800,
"owned_by": "opencomputing.ai"
}
]
}
```
---
## 通用说明
### catelogid 目录类型ID对照表
| ID | 中文名 | 说明 |
|----|--------|------|
| `t2t` | 文生文 | 文本生成(默认) |
| `t2i` | 文生图 | 图像生成 |
| `t2v` | 文生视频 | 文本生成视频 |
| `i2v` | 图生视频 | 图像生成视频 |
| `r2v` | 参考生视频 | 参考图像生成视频 |
| `tts` | 语音合成 | 文本转语音 |
| `asr` | 语音识别 | 语音转文本 |
| `vision` | 图理解 | 图像理解 |
| `ai_search` | AI搜索 | AI搜索 |
| `digital_human` | 数字人 | 数字人 |
| `music_gen` | 音乐生成 | 音乐生成 |
| `text_cls` | 文本分类 | 文本分类 |
| `3d_gen` | 3D生成 | 3D模型生成 |
| `video_tool` | 视频工具 | 视频处理工具 |
| `translate` | 翻译 | 文本翻译 |
> 向后兼容catelogid 参数同时支持新ID如 `"t2v"`)和旧中文名(如 `"文生视频"`推荐使用新ID。
### 参数统一
所有 v1 接口统一使用 `catelogid` 参数标识目录类型,替代原有的 `lctype` / `llmcatelogid`
### 认证
所有接口需要 Bearer Token 认证,请求头中携带:
```
Authorization: Bearer ***
```
### 余额检查
每次请求都会自动调用 `checkCustomerBalance()` 进行余额检查:
- 如果模型属于用户所在组织(`llm.ownerid == userorgid`),则跳过余额检查
- 否则检查 tpac 余额或本地余额
- 余额不足时返回 429 状态码
### 计费
请求成功后自动创建 `llmusage` 记录,状态为 `created`。后台定时任务会定期执行计费流程。
---
# 真人素材 API
真人素材 API 提供真人人像认证、素材上传和素材管理功能。使用与大模型 API 相同的 APIKEY 认证。
**Base URL**: `https://token.opencomputing.cn`
**认证**: Bearer Token与大模型 API 相同)
## 业务流程
1. **真人认证**:发起认证请求,获取 H5 链接供终端用户完成人脸识别
2. **查询已认证组合**:查询当前机构下所有已认证的组合 ID
3. **上传素材**:使用已认证的组合 ID 上传图片/视频
4. **状态同步**:轮询检查素材处理状态
---
## POST /reallife_asset/api/rl_verify.dspy
获取真人认证链接H5
### 请求参数
| 参数 | 必填 | 说明 |
|------|------|------|
| `vendor` | 是 | 供应商标识 |
| `project_name` | 否 | 项目名称,默认 `default` |
| `name` | 否 | 认证名称,方便识别 |
> `user_id` 和 `org_id` 由 Bearer Token 自动获取
### 请求示例
```bash
curl -X POST 'https://token.opencomputing.cn/reallife_asset/api/rl_verify.dspy' \
-H 'Authorization: Bearer *** \
-H 'Content-Type: application/json' \
-d '{
"vendor": "volcengine",
"project_name": "default",
"name": "张三"
}'
```
### 响应示例
```json
{
"status": "ok",
"data": {
"id": "local_group_id_xxx",
"h5_link": "https://... (H5页面链接120秒有效)",
"byted_token": "..."
}
}
```
---
## POST /reallife_asset/api/rl_query_groups.dspy
查询已认证的组合列表。
### 请求参数
无需参数,系统自动从 Bearer Token 获取 `org_id`
### 请求示例
```bash
curl -X POST 'https://token.opencomputing.cn/reallife_asset/api/rl_query_groups.dspy' \
-H 'Authorization: Bearer ***
```
### 响应示例
```json
{
"status": "ok",
"data": {
"groups": [
{
"vendor_group_id": "volc-asset-group-xxx",
"vendor": "volcengine",
"name": "模特张三",
"status": "active",
"create_time": "2026-05-28 15:30:00"
}
]
}
}
```
---
## POST /reallife_asset/api/rl_upload.dspy
上传素材到已认证的组合。
### 请求参数
| 参数 | 必填 | 说明 |
|------|------|------|
| `vendor_group_id` | 是 | 已认证的组合 ID |
| `source_url` | 是 | 素材 URL 或 `data:` base64 编码 |
| `asset_type` | 否 | `Image`(默认)或 `Video` |
| `name` | 否 | 素材名称 |
### 请求示例
```bash
curl -X POST 'https://token.opencomputing.cn/reallife_asset/api/rl_upload.dspy' \
-H 'Authorization: Bearer *** \
-H 'Content-Type: application/json' \
-d '{
"vendor_group_id": "volc-asset-group-xxx",
"source_url": "https://bucket.oss.com/photo.jpg",
"asset_type": "Image",
"name": "模特A"
}'
```
### 响应示例
```json
{
"status": "ok",
"data": {
"id": "asset_record_id_xxx",
"vendor_asset_id": "asset-2026...",
"status": "Processing"
}
}
```
> 上传是异步操作,需调用 `rl_status` 轮询状态。
---
## POST /reallife_asset/api/rl_status.dspy
查询素材处理状态。
### 请求参数
| 参数 | 必填 | 说明 |
|------|------|------|
| `asset_id` | 是 | 上传时返回的记录 ID |
### 请求示例
```bash
curl -X POST 'https://token.opencomputing.cn/reallife_asset/api/rl_status.dspy' \
-H 'Authorization: Bearer *** \
-H 'Content-Type: application/json' \
-d '{
"asset_id": "asset_record_id_xxx"
}'
```
### 响应示例
```json
{
"status": "ok",
"data": {
"status": "Active",
"url": "https://... (临时下载链接12小时有效)"
}
}
```
> 素材永久存储。`url` 过期后可再次调用获取新链接。
---
## POST /reallife_asset/api/rl_assets.dspy
查询组合下所有素材。
### 请求参数
| 参数 | 必填 | 说明 |
|------|------|------|
| `vendor_group_id` | 是 | 已认证的组合 ID |
### 请求示例
```bash
curl -X POST 'https://token.opencomputing.cn/reallife_asset/api/rl_assets.dspy' \
-H 'Authorization: Bearer *** \
-H 'Content-Type: application/json' \
-d '{
"vendor_group_id": "volc-asset-group-xxx"
}'
```
### 响应示例
```json
{
"status": "ok",
"data": {
"assets": [
{
"id": "asset_record_id_xxx",
"vendor_asset_id": "asset-2026...",
"name": "模特A",
"asset_type": "Image",
"status": "Active",
"url": "https://...",
"create_time": "2026-05-28 15:30:00"
}
],
"total": 3
}
}
```
---
## 真人素材错误说明
| 错误信息 | 原因 | 解决方案 |
|----------|------|----------|
| `供应商配置不存在` | 未配置 AK/SK | 联系管理员 |
| `供应商服务已停用` | 配置非 active | 联系管理员激活 |
| `无效的素材组合ID或无权访问` | ID 不属于当前机构 | 检查认证和 ID |
| `素材不存在或无权访问` | ID 无效 | 检查 ID |
| `尚未完成认证或认证失败` | 认证未完成 | 等待 H5 认证完成 |