Initial commit
This commit is contained in:
430
doc/api.md
Normal file
430
doc/api.md
Normal file
@@ -0,0 +1,430 @@
|
||||
# 腾讯混元3D API 文档
|
||||
|
||||
> 基础地址: `https://3d.hunyuan.tencent.com`
|
||||
|
||||
---
|
||||
|
||||
## 认证方式
|
||||
|
||||
Cookie 会话认证。登录后由浏览器自动携带 `sessionid` 等 Cookie。
|
||||
|
||||
持久化数据保存在 `./hunyuan3d_profile`,CloakBrowser 复用该目录即可保持登录态。
|
||||
|
||||
---
|
||||
|
||||
## 通用响应格式
|
||||
|
||||
**注意**:接口响应格式不统一,分为两类:
|
||||
|
||||
**A. 扁平格式**(大多数 GET 及数据查询接口):
|
||||
```json
|
||||
{
|
||||
"key": "value"
|
||||
}
|
||||
```
|
||||
|
||||
**B. 包装格式**(部分 POST 操作接口):
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"message": "success",
|
||||
"data": {}
|
||||
}
|
||||
```
|
||||
|
||||
- `code`: 业务状态码,`0` 表示成功
|
||||
- `message` / `msg`: 提示信息(字段名不统一)
|
||||
- `data`: 实际返回数据
|
||||
|
||||
---
|
||||
|
||||
## 接口列表
|
||||
|
||||
### 1. 获取用户信息
|
||||
|
||||
- **URL**: `/api/3d/getuserinfo`
|
||||
- **Method**: `GET`
|
||||
- **描述**: 获取当前登录用户的基本信息
|
||||
|
||||
**响应示例**(扁平格式):
|
||||
```json
|
||||
{
|
||||
"userId": "...",
|
||||
"nickname": "...",
|
||||
"imageUrl": "...",
|
||||
"loginType": "email",
|
||||
"registered": true
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 2. 获取用户配额
|
||||
|
||||
- **URL**: `/api/3d/quotainfo`
|
||||
- **Method**: `GET`
|
||||
- **描述**: 获取当前用户的生成配额/剩余次数
|
||||
|
||||
**响应示例**(扁平格式):
|
||||
```json
|
||||
{
|
||||
"date": "20260524",
|
||||
"totalQuota": 20,
|
||||
"remainQuota": 17,
|
||||
"consumeQuota": 3
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 3. 获取工作流模板
|
||||
|
||||
- **URL**: `/api/3d/workflow/action/templates`
|
||||
- **Method**: `GET`
|
||||
- **描述**: 获取可用的3D生成工作流模板列表
|
||||
|
||||
**响应示例**(扁平格式):
|
||||
```json
|
||||
{
|
||||
"templates": [
|
||||
{
|
||||
"name": "跨步",
|
||||
"value": "9",
|
||||
"fbx": "https://...",
|
||||
"glb": "https://...",
|
||||
"image": "https://...",
|
||||
"preview": "https://...",
|
||||
"visible": true
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 4. 获取通知列表
|
||||
|
||||
- **URL**: `/api/3d/notice/list`
|
||||
- **Method**: `GET`
|
||||
- **描述**: 获取系统通知/公告列表
|
||||
|
||||
**响应示例**:
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"message": "success",
|
||||
"data": [
|
||||
{
|
||||
"id": "...",
|
||||
"title": "...",
|
||||
"content": "...",
|
||||
"create_time": "..."
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 5. 获取作品数量
|
||||
|
||||
- **URL**: `/api/3d/creations/count`
|
||||
- **Method**: `POST`
|
||||
- **描述**: 获取当前用户已生成的作品总数
|
||||
|
||||
**请求体**:
|
||||
```json
|
||||
{
|
||||
"statusList": ["wait", "processing", "success", "fail"]
|
||||
}
|
||||
```
|
||||
|
||||
**响应示例**(扁平格式):
|
||||
```json
|
||||
{
|
||||
"count": 42
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 6. 分享相关
|
||||
|
||||
- **URL**: `/api/3d/share`
|
||||
- **Method**: `POST`
|
||||
- **描述**: 创建分享链接或获取分享信息
|
||||
|
||||
**请求体**:
|
||||
```json
|
||||
{
|
||||
"creation_id": "..."
|
||||
}
|
||||
```
|
||||
|
||||
**响应示例**:
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"message": "success",
|
||||
"data": {
|
||||
"share_url": "https://3d.hunyuan.tencent.com/share/..."
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 图生3D 完整流程
|
||||
|
||||
### 7. 获取图片上传凭证
|
||||
|
||||
- **URL**: `/api/3d/resource/genUploadInfo`
|
||||
- **Method**: `POST`
|
||||
- **描述**: 获取腾讯云 COS 临时上传凭证
|
||||
|
||||
**请求体**:
|
||||
```json
|
||||
{
|
||||
"fileName": "your_image.png"
|
||||
}
|
||||
```
|
||||
|
||||
**响应示例**:
|
||||
```json
|
||||
{
|
||||
"error": {
|
||||
"code": "0",
|
||||
"message": ""
|
||||
},
|
||||
"bucketName": "hunyuan-base-prod-1258344703",
|
||||
"region": "ap-guangzhou",
|
||||
"location": "hunyuan3d/default/xxx/xxx.png",
|
||||
"encryptTmpSecretId": "...",
|
||||
"encryptTmpSecretKey": "...",
|
||||
"encryptToken": "...",
|
||||
"startTime": 1779562912,
|
||||
"expiredTime": 1811098912,
|
||||
"resourceUrl": "https://3d.hunyuan.tencent.com/api/3d/resource/download?resourceId=..."
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 8. 图片内容审核
|
||||
|
||||
- **URL**: `/api/3d/resource/review`
|
||||
- **Method**: `POST`
|
||||
- **描述**: 上传前对图片进行安全审核
|
||||
|
||||
**请求体**:
|
||||
```json
|
||||
{
|
||||
"sceneType": "playGround3D-2.0",
|
||||
"text": "",
|
||||
"resourceType": "image",
|
||||
"resourceUrl": "https://3d.hunyuan.tencent.com/api/3d/resource/download?resourceId=..."
|
||||
}
|
||||
```
|
||||
|
||||
**响应示例**:
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"msg": "",
|
||||
"result": {
|
||||
"text": { "code": 0 },
|
||||
"name": { "code": 0 },
|
||||
"resource": { "code": 0 }
|
||||
},
|
||||
"id": "..."
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 9. 触发3D生成
|
||||
|
||||
- **URL**: `/api/3d/creations/generations?timestamp={ts}&nonce={nonce}&sign={sign}`
|
||||
- **Method**: `POST`
|
||||
- **描述**: 提交图片,触发3D模型生成任务。URL 带有签名参数防重放。
|
||||
|
||||
**请求体**:
|
||||
```json
|
||||
{
|
||||
"sceneType": "playGround3D-2.0",
|
||||
"count": 1,
|
||||
"modelType": "image2ModelV3.1",
|
||||
"title": "",
|
||||
"style": "",
|
||||
"imageList": [
|
||||
"https://3d.hunyuan.tencent.com/api/3d/resource/download?resourceId=..."
|
||||
],
|
||||
"enable_pbr": true,
|
||||
"enableLowPoly": false,
|
||||
"faceCount": 1500000
|
||||
}
|
||||
```
|
||||
|
||||
**参数说明**:
|
||||
- `modelType`: `image2ModelV3.1` (图生3D V3.1)
|
||||
- `faceCount`: 模型面数,`1500000` 对应 1.5m,`1000000` 对应 1m,`500000` 对应 500k,`50000` 对应 50k
|
||||
- `enable_pbr`: 是否启用 PBR 材质
|
||||
- `imageList`: 已上传图片的 `resourceUrl` 列表
|
||||
|
||||
**响应**: 返回 `creationsId`,用于后续轮询生成状态。
|
||||
|
||||
---
|
||||
|
||||
### 10. 文生3D
|
||||
|
||||
- **URL**: `/api/3d/creations/generations?timestamp={ts}&nonce={nonce}&sign={sign}`
|
||||
- **Method**: `POST`
|
||||
- **描述**: 输入文本描述,触发3D模型生成。接口地址和图生3D相同,仅请求体参数不同。
|
||||
|
||||
**请求体**:
|
||||
```json
|
||||
{
|
||||
"sceneType": "playGround3D-2.0",
|
||||
"count": 4,
|
||||
"modelType": "text2ModelV3.1",
|
||||
"title": "一只银白色的鲑鱼",
|
||||
"style": "",
|
||||
"prompt": "一只银白色的鲑鱼",
|
||||
"enable_pbr": true,
|
||||
"enableLowPoly": false,
|
||||
"faceCount": 1500000
|
||||
}
|
||||
```
|
||||
|
||||
**参数说明**:
|
||||
- `modelType`: `text2ModelV3.1` (文生3D V3.1)
|
||||
- `count`: 一次生成的候选数量,默认 `4`
|
||||
- `title` / `prompt`: 文本描述,建议以单主体为主
|
||||
- `faceCount`: 模型面数,`1500000`(1.5m) / `1000000`(1m) / `500000`(500k) / `50000`(50k)
|
||||
- `enable_pbr`: 是否启用 PBR 材质
|
||||
- `style`: 纹理风格,可选 `通用`、`石雕`、`青花瓷`、`中国风`、`卡通`、`赛博朋克`
|
||||
|
||||
**响应**: 返回 `creationsId`,用于后续轮询生成状态。
|
||||
|
||||
---
|
||||
|
||||
### 11. 查询生成状态(轮询)
|
||||
|
||||
- **URL**: `/api/3d/creations/detail?creationsId={id}`
|
||||
- **Method**: `GET`
|
||||
- **描述**: 轮询查询3D生成任务的进度和结果。前端约每 2~3 秒轮询一次。
|
||||
|
||||
**响应示例**(扁平格式):
|
||||
```json
|
||||
{
|
||||
"id": "355e2c8b-eaab-4e22-a521-375c7c2fcc2e",
|
||||
"status": "processing",
|
||||
"prompt": "...",
|
||||
"result": [
|
||||
{
|
||||
"taskId": "...",
|
||||
"status": "processing",
|
||||
"progress": 21,
|
||||
"urlResult": {
|
||||
"glb": "https://...",
|
||||
"obj": "https://...",
|
||||
"image_url": "https://..."
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
**状态说明**:
|
||||
- `wait`: 排队中
|
||||
- `processing`: 生成中
|
||||
- `success`: 生成完成
|
||||
- `fail`: 生成失败
|
||||
|
||||
---
|
||||
|
||||
### 12. 获取作品列表(资产)
|
||||
|
||||
- **URL**: `/api/3d/creations/list`
|
||||
- **Method**: `POST`
|
||||
- **描述**: 获取当前用户的3D作品列表,对应「资产」页面。
|
||||
|
||||
**响应示例**(扁平格式):
|
||||
```json
|
||||
{
|
||||
"totalCount": 10,
|
||||
"creations": [
|
||||
{
|
||||
"id": "...",
|
||||
"title": "一只银白色的鲑鱼",
|
||||
"status": "success",
|
||||
"modelType": "text2ModelV3.1",
|
||||
"result": [...]
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 13. 获取作品数量
|
||||
|
||||
- **URL**: `/api/3d/creations/count`
|
||||
- **Method**: `POST`
|
||||
- **描述**: 获取当前用户的作品总数及各状态数量
|
||||
|
||||
---
|
||||
|
||||
### 14. 下载资源文件
|
||||
|
||||
- **URL**: `/api/3d/resource/download?resourceId={id}`
|
||||
- **Method**: `GET`
|
||||
- **描述**: 下载图片或模型文件(二进制流)
|
||||
|
||||
---
|
||||
|
||||
## 完整调用流程(文生3D)
|
||||
|
||||
```
|
||||
1. POST /api/3d/creations/generations
|
||||
→ 提交文本描述,得到 creationsId
|
||||
|
||||
2. GET /api/3d/creations/detail?creationsId=xxx
|
||||
→ 轮询直到 status == "success"
|
||||
|
||||
3. 从 detail 响应中提取 modelUrl / previewUrl 下载模型
|
||||
```
|
||||
|
||||
**与图生3D的区别**:文生3D无需图片上传和审核,直接调用 generations 接口即可。
|
||||
|
||||
---
|
||||
|
||||
## 完整调用流程(图生3D)
|
||||
|
||||
```
|
||||
1. POST /api/3d/resource/genUploadInfo
|
||||
→ 获取 COS 临时凭证
|
||||
|
||||
2. 用临时凭证把图片上传到腾讯云 COS
|
||||
→ 得到 resourceUrl
|
||||
|
||||
3. POST /api/3d/resource/review
|
||||
→ 图片安全审核通过
|
||||
|
||||
4. POST /api/3d/creations/generations
|
||||
→ 触发3D生成,得到 creationsId
|
||||
|
||||
5. GET /api/3d/creations/detail?creationsId=xxx
|
||||
→ 轮询直到 status == "success"
|
||||
|
||||
6. 从 detail 响应中提取 modelUrl / previewUrl 下载模型
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 使用建议
|
||||
|
||||
1. 运行 `hunyuan3d_login.py` 完成登录,持久化 Cookie
|
||||
2. 运行 `hunyuan3d_api_sniffer.py` 拦截实际操作中的完整请求和响应
|
||||
3. 在浏览器中手动触发各种操作(生成、分享、删除等),终端会实时打印 API 调用
|
||||
4. 结果保存到 `api_requests.log.json`,可据此补充本文档
|
||||
599
doc/api_complete.md
Normal file
599
doc/api_complete.md
Normal file
@@ -0,0 +1,599 @@
|
||||
# 腾讯混元3D API 完整文档
|
||||
|
||||
> 基础地址: `https://3d.hunyuan.tencent.com`
|
||||
> 签名算法: HMAC-SHA256(已破解,见 `hunyuan3d_sign.py`)
|
||||
|
||||
---
|
||||
|
||||
## 目录
|
||||
|
||||
1. [认证方式](#认证方式)
|
||||
2. [通用响应格式](#通用响应格式)
|
||||
3. [用户相关接口](#用户相关接口)
|
||||
4. [作品管理接口](#作品管理接口)
|
||||
5. [图生3D接口](#图生3d接口)
|
||||
6. [文生3D接口](#文生3d接口)
|
||||
7. [草图生3D接口](#草图生3d接口)
|
||||
8. [3D动画生成接口](#3d动画生成接口)
|
||||
9. [3D纹理生成接口](#3d纹理生成接口)
|
||||
10. [3D智能拓扑接口](#3d智能拓扑接口)
|
||||
11. [资源上传接口](#资源上传接口)
|
||||
12. [分享接口](#分享接口)
|
||||
13. [配置接口](#配置接口)
|
||||
14. [生成模式参数总表](#生成模式参数总表)
|
||||
|
||||
---
|
||||
|
||||
## 认证方式
|
||||
|
||||
Cookie 会话认证。需要携带 `hunyuan_user` 和 `hunyuan_token` Cookie。
|
||||
|
||||
所有 API 请求需要在 URL 查询参数中附带签名:
|
||||
- `timestamp`: 秒级时间戳
|
||||
- `nonce`: 16位随机字符串
|
||||
- `sign`: HMAC-SHA256签名
|
||||
|
||||
---
|
||||
|
||||
## 通用响应格式
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"message": "success",
|
||||
"data": {}
|
||||
}
|
||||
```
|
||||
|
||||
- `code`: 业务状态码,`0` 表示成功
|
||||
- `message`: 提示信息
|
||||
- `data`: 实际返回数据
|
||||
|
||||
---
|
||||
|
||||
## 用户相关接口
|
||||
|
||||
### 1. 获取用户信息
|
||||
|
||||
- **URL**: `/api/3d/getuserinfo`
|
||||
- **Method**: `GET`
|
||||
- **描述**: 获取当前登录用户的基本信息
|
||||
|
||||
**响应示例**:
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"message": "success",
|
||||
"data": {
|
||||
"userId": "abb5e2f51b08416fb5459a5082504ea0",
|
||||
"userType": "external",
|
||||
"loginType": "email",
|
||||
"registered": true,
|
||||
"status": 2
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 2. 获取用户配额
|
||||
|
||||
- **URL**: `/api/3d/quotainfo`
|
||||
- **Method**: `POST`
|
||||
- **描述**: 获取当前用户的生成配额
|
||||
|
||||
**请求体**:
|
||||
```json
|
||||
{"sceneType": "3dCreations"}
|
||||
```
|
||||
|
||||
**响应示例**:
|
||||
```json
|
||||
{
|
||||
"date": "20260524",
|
||||
"totalQuota": 20,
|
||||
"remainQuota": 0,
|
||||
"consumeQuota": 20,
|
||||
"alarmQuota": 1,
|
||||
"userInviteQuota": 0,
|
||||
"perUserInviteQuotaCount": 30,
|
||||
"maxUserInviteQuota": 6
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 作品管理接口
|
||||
|
||||
### 3. 获取作品列表
|
||||
|
||||
- **URL**: `/api/3d/creations/list`
|
||||
- **Method**: `POST`
|
||||
- **描述**: 获取当前用户的3D作品列表
|
||||
|
||||
**请求体**:
|
||||
```json
|
||||
{
|
||||
"page": 1,
|
||||
"pageSize": 20
|
||||
}
|
||||
```
|
||||
|
||||
### 4. 获取作品数量
|
||||
|
||||
- **URL**: `/api/3d/creations/count`
|
||||
- **Method**: `POST`
|
||||
- **描述**: 获取作品数量
|
||||
|
||||
**请求体**:
|
||||
```json
|
||||
{"statusList": ["wait", "processing"]}
|
||||
```
|
||||
|
||||
### 5. 查询作品详情/生成状态
|
||||
|
||||
- **URL**: `/api/3d/creations/detail`
|
||||
- **Method**: `GET`
|
||||
- **描述**: 查询3D生成任务的进度和结果
|
||||
|
||||
**查询参数**:
|
||||
```
|
||||
?creationsId={id}
|
||||
```
|
||||
|
||||
**状态说明**:
|
||||
- `wait`: 排队中
|
||||
- `processing`: 生成中
|
||||
- `success`: 生成完成
|
||||
- `fail`: 生成失败
|
||||
|
||||
### 6. 取消任务
|
||||
|
||||
- **URL**: `/api/3d/creations/cancel`
|
||||
- **Method**: `POST`
|
||||
- **描述**: 取消进行中的生成任务
|
||||
|
||||
---
|
||||
|
||||
## 图生3D接口
|
||||
|
||||
### 7. 触发图生3D
|
||||
|
||||
- **URL**: `/api/3d/creations/generations`
|
||||
- **Method**: `POST`
|
||||
- **描述**: 提交图片,触发3D模型生成
|
||||
|
||||
**请求体**:
|
||||
```json
|
||||
{
|
||||
"sceneType": "playGround3D-2.0",
|
||||
"count": 1,
|
||||
"modelType": "image2ModelV3.1",
|
||||
"title": "",
|
||||
"style": "",
|
||||
"imageList": [
|
||||
"https://3d.hunyuan.tencent.com/api/3d/resource/download?resourceId=..."
|
||||
],
|
||||
"enable_pbr": true,
|
||||
"enableLowPoly": false,
|
||||
"faceCount": 1500000
|
||||
}
|
||||
```
|
||||
|
||||
**参数说明**:
|
||||
|
||||
| 参数 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| `sceneType` | string | 是 | 场景类型,固定 `playGround3D-2.0` |
|
||||
| `count` | int | 是 | 生成数量,固定 `1` |
|
||||
| `modelType` | string | 是 | 模型类型,`image2ModelV3.1` |
|
||||
| `title` | string | 否 | 作品标题 |
|
||||
| `style` | string | 否 | 风格,见下方风格表 |
|
||||
| `imageList` | array | 是 | 图片URL列表(需先上传获取resourceId) |
|
||||
| `enable_pbr` | bool | 否 | 是否启用PBR材质,默认 `true` |
|
||||
| `enableLowPoly` | bool | 否 | 是否低多边形,默认 `false` |
|
||||
| `faceCount` | int | 否 | 面数,`1500000` |
|
||||
|
||||
**风格(style)选项**:
|
||||
- `""` - 默认
|
||||
- `"sculpture"` - 石雕
|
||||
- `"qinghuaci"` - 青花瓷
|
||||
- `"china_style"` - 中国风
|
||||
- `"cartoon"` - 卡通
|
||||
- `"cyberpunk"` - 赛博朋克
|
||||
|
||||
**几何风格(geo_type)选项**:
|
||||
- `"default"` - 默认
|
||||
- `"voxel"` - 体素
|
||||
- `"low_poly"` - 低多边形
|
||||
|
||||
---
|
||||
|
||||
## 文生3D接口
|
||||
|
||||
### 8. 触发文生3D
|
||||
|
||||
- **URL**: `/api/3d/creations/generations`
|
||||
- **Method**: `POST`
|
||||
- **描述**: 输入文本描述生成3D模型
|
||||
|
||||
**请求体**:
|
||||
```json
|
||||
{
|
||||
"sceneType": "playGround3D-2.0",
|
||||
"count": 1,
|
||||
"modelType": "text2ModelV3.1",
|
||||
"title": "银色的长剑",
|
||||
"style": "",
|
||||
"text": "银色的长剑",
|
||||
"enable_pbr": true,
|
||||
"enableLowPoly": false,
|
||||
"faceCount": 1500000
|
||||
}
|
||||
```
|
||||
|
||||
**参数说明**:
|
||||
|
||||
| 参数 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| `modelType` | string | 是 | `text2ModelV3.1` |
|
||||
| `text` | string | 是 | 文本描述/提示词 |
|
||||
| `title` | string | 否 | 作品标题 |
|
||||
| `style` | string | 否 | 风格 |
|
||||
| 其他 | - | - | 同图生3D |
|
||||
|
||||
**提示词示例**(来自配置):
|
||||
- "银色的长剑"
|
||||
- "猫头鹰,大眼睛,深棕色"
|
||||
- "粉色蝴蝶结"
|
||||
- "橙色颈挂式耳机"
|
||||
- "歼-20威龙"
|
||||
- "装甲,机械风格,逼真,4K"
|
||||
- "汉堡里面有酸黄瓜 生菜 牛肉饼和芝士"
|
||||
|
||||
---
|
||||
|
||||
## 草图生3D接口
|
||||
|
||||
### 9. 触发草图生3D
|
||||
|
||||
- **URL**: `/api/3d/creations/generations`
|
||||
- **Method**: `POST`
|
||||
- **描述**: 上传草图+提示词生成3D模型
|
||||
|
||||
**请求体**:
|
||||
```json
|
||||
{
|
||||
"sceneType": "playGround3D-2.0",
|
||||
"count": 1,
|
||||
"modelType": "sketch2ModelV3.1",
|
||||
"title": "",
|
||||
"style": "",
|
||||
"text": "一个穿着蓝色衣服的小男孩",
|
||||
"imageList": [
|
||||
"https://3d.hunyuan.tencent.com/api/3d/resource/download?resourceId=..."
|
||||
],
|
||||
"enable_pbr": true,
|
||||
"enableLowPoly": false,
|
||||
"faceCount": 1500000
|
||||
}
|
||||
```
|
||||
|
||||
**参数说明**:
|
||||
|
||||
| 参数 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| `modelType` | string | 是 | `sketch2ModelV3.1` |
|
||||
| `text` | string | 是 | 草图描述提示词 |
|
||||
| `imageList` | array | 是 | 草图图片URL |
|
||||
|
||||
---
|
||||
|
||||
## 3D动画生成接口
|
||||
|
||||
### 10. 获取动画动作模板
|
||||
|
||||
- **URL**: `/api/3d/workflow/action/templates`
|
||||
- **Method**: `GET`
|
||||
- **描述**: 获取可用的动作模板列表
|
||||
|
||||
**动作类型(motionType)**:
|
||||
|
||||
| ID | 名称 | 说明 |
|
||||
|----|------|------|
|
||||
| 9 | 跨步 | Capoeira |
|
||||
| 10 | 摔倒 | FallingBackDeath |
|
||||
| 11 | 跳跃 | Jumping |
|
||||
| 12 | 踢腿 | Kicking |
|
||||
| 13 | 挥击 | OneHandSwordCombo |
|
||||
| 15 | 跑步 | TreadmillRunning |
|
||||
| 16 | 跳舞 | TwistDance |
|
||||
|
||||
### 11. 触发3D动画生成
|
||||
|
||||
- **URL**: `/api/3d/creations/generations`
|
||||
- **Method**: `POST`
|
||||
- **描述**: 为3D模型绑定骨骼并生成动画
|
||||
|
||||
**请求体**:
|
||||
```json
|
||||
{
|
||||
"sceneType": "playGround3D-2.0",
|
||||
"count": 1,
|
||||
"modelType": "animation3dV2",
|
||||
"title": "",
|
||||
"style": "",
|
||||
"imageList": [
|
||||
"https://3d.hunyuan.tencent.com/api/3d/resource/download?resourceId=..."
|
||||
],
|
||||
"motionType": 11,
|
||||
"enable_pbr": true,
|
||||
"enableLowPoly": false,
|
||||
"faceCount": 1500000
|
||||
}
|
||||
```
|
||||
|
||||
**参数说明**:
|
||||
|
||||
| 参数 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| `modelType` | string | 是 | `animation3dV2` |
|
||||
| `motionType` | int | 是 | 动作类型ID |
|
||||
| `imageList` | array | 是 | 要绑定的3D模型图片 |
|
||||
|
||||
---
|
||||
|
||||
## 3D纹理生成接口
|
||||
|
||||
### 12. 触发3D纹理生成
|
||||
|
||||
- **URL**: `/api/3d/creations/generations`
|
||||
- **Method**: `POST`
|
||||
- **描述**: 为白模生成纹理贴图
|
||||
|
||||
**请求体**:
|
||||
```json
|
||||
{
|
||||
"sceneType": "playGround3D-2.0",
|
||||
"count": 1,
|
||||
"modelType": "textureTo3DV2",
|
||||
"title": "",
|
||||
"style": "",
|
||||
"text": "木质纹理,棕色",
|
||||
"imageList": [
|
||||
"https://3d.hunyuan.tencent.com/api/3d/resource/download?resourceId=..."
|
||||
],
|
||||
"enable_pbr": true,
|
||||
"enableLowPoly": false,
|
||||
"faceCount": 1500000
|
||||
}
|
||||
```
|
||||
|
||||
**参数说明**:
|
||||
|
||||
| 参数 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| `modelType` | string | 是 | `textureTo3DV2` |
|
||||
| `text` | string | 是 | 纹理描述 |
|
||||
| `imageList` | array | 是 | 白模图片URL |
|
||||
|
||||
---
|
||||
|
||||
## 3D智能拓扑接口
|
||||
|
||||
### 13. 触发3D智能拓扑(减面)
|
||||
|
||||
- **URL**: `/api/3d/creations/generations`
|
||||
- **Method**: `POST`
|
||||
- **描述**: 输入文本/图片/白模,生成布线规整的低面数模型
|
||||
|
||||
**请求体**:
|
||||
```json
|
||||
{
|
||||
"sceneType": "playGround3D-2.0",
|
||||
"count": 1,
|
||||
"modelType": "lowpolyV2",
|
||||
"title": "",
|
||||
"style": "",
|
||||
"text": "",
|
||||
"imageList": [
|
||||
"https://3d.hunyuan.tencent.com/api/3d/resource/download?resourceId=..."
|
||||
],
|
||||
"enable_pbr": true,
|
||||
"enableLowPoly": true,
|
||||
"faceCount": 5000,
|
||||
"topology_format": "glb"
|
||||
}
|
||||
```
|
||||
|
||||
**参数说明**:
|
||||
|
||||
| 参数 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| `modelType` | string | 是 | `lowpolyV2` |
|
||||
| `faceCount` | int | 否 | 目标面数:`5000`(低), `18000`(中), `30000`(高) |
|
||||
| `topology_format` | string | 否 | 输出格式:`glb` 或 `obj` |
|
||||
| `enableLowPoly` | bool | 否 | 必须设为 `true` |
|
||||
|
||||
---
|
||||
|
||||
## 资源上传接口
|
||||
|
||||
### 14. 获取上传凭证
|
||||
|
||||
- **URL**: `/api/3d/resource/genUploadInfo`
|
||||
- **Method**: `POST`
|
||||
- **描述**: 获取腾讯云COS临时上传凭证
|
||||
|
||||
**请求体**:
|
||||
```json
|
||||
{"fileName": "your_image.png"}
|
||||
```
|
||||
|
||||
**响应示例**:
|
||||
```json
|
||||
{
|
||||
"bucketName": "hunyuan-base-prod-1258344703",
|
||||
"region": "ap-guangzhou",
|
||||
"location": "hunyuan3d/default/...",
|
||||
"encryptTmpSecretId": "...",
|
||||
"encryptTmpSecretKey": "...",
|
||||
"encryptToken": "...",
|
||||
"startTime": 1779562912,
|
||||
"expiredTime": 1811098912,
|
||||
"resourceUrl": "https://3d.hunyuan.tencent.com/api/3d/resource/download?resourceId=..."
|
||||
}
|
||||
```
|
||||
|
||||
### 15. 图片内容审核
|
||||
|
||||
- **URL**: `/api/3d/resource/review`
|
||||
- **Method**: `POST`
|
||||
- **描述**: 上传前对图片进行安全审核
|
||||
|
||||
**请求体**:
|
||||
```json
|
||||
{
|
||||
"sceneType": "playGround3D-2.0",
|
||||
"text": "",
|
||||
"resourceType": "image",
|
||||
"resourceUrl": "https://3d.hunyuan.tencent.com/api/3d/resource/download?resourceId=..."
|
||||
}
|
||||
```
|
||||
|
||||
### 16. 下载资源
|
||||
|
||||
- **URL**: `/api/3d/resource/download`
|
||||
- **Method**: `GET`
|
||||
- **描述**: 下载图片或模型文件
|
||||
|
||||
**查询参数**:
|
||||
```
|
||||
?resourceId={id}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 分享接口
|
||||
|
||||
### 17. 创建分享
|
||||
|
||||
- **URL**: `/api/3d/share`
|
||||
- **Method**: `POST`
|
||||
- **描述**: 创建分享链接
|
||||
|
||||
**请求体**:
|
||||
```json
|
||||
{
|
||||
"contentType": "creation",
|
||||
"contentId": "creationsId",
|
||||
"sharedContent": "",
|
||||
"platform": "3dPlayground"
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 配置接口
|
||||
|
||||
### 18. 获取全局配置
|
||||
|
||||
- **URL**: `/api/3d/config`
|
||||
- **Method**: `GET`
|
||||
- **描述**: 获取前端配置,包含提示词示例、风格配置、模板等
|
||||
|
||||
**包含内容**:
|
||||
- `promptExamples` - 文生3D提示词示例
|
||||
- `styleConfig` - 风格配置(几何风格+纹理风格)
|
||||
- `animation3dConfig` - 动画模板配置
|
||||
- `sketchImageConfig` - 草图示例配置
|
||||
- `gameTemplate` - 游戏角色模板
|
||||
- `retopologize` - 拓扑减面配置
|
||||
|
||||
---
|
||||
|
||||
## 生成模式参数总表
|
||||
|
||||
| 生成模式 | modelType | sceneType | 特有参数 | 说明 |
|
||||
|----------|-----------|-----------|----------|------|
|
||||
| **图生3D** | `image2ModelV3.1` | `playGround3D-2.0` | `imageList` | 图片生成3D模型 |
|
||||
| **文生3D** | `text2ModelV3.1` | `playGround3D-2.0` | `text` | 文本描述生成3D |
|
||||
| **草图生3D** | `sketch2ModelV3.1` | `playGround3D-2.0` | `text`, `imageList` | 草图+提示词生成3D |
|
||||
| **3D动画** | `animation3dV2` | `playGround3D-2.0` | `motionType` | 为模型绑定骨骼动画 |
|
||||
| **3D纹理** | `textureTo3DV2` | `playGround3D-2.0` | `text`, `imageList` | 为白模生成纹理 |
|
||||
| **智能拓扑** | `lowpolyV2` | `playGround3D-2.0` | `faceCount`(5000/18000/30000) | 减面优化 |
|
||||
|
||||
### 通用参数(所有模式)
|
||||
|
||||
| 参数 | 类型 | 默认值 | 说明 |
|
||||
|------|------|--------|------|
|
||||
| `count` | int | 1 | 生成数量(固定1) |
|
||||
| `title` | string | "" | 作品标题 |
|
||||
| `style` | string | "" | 纹理风格 |
|
||||
| `enable_pbr` | bool | true | PBR材质 |
|
||||
| `enableLowPoly` | bool | false | 低多边形 |
|
||||
| `faceCount` | int | 1500000 | 面数 |
|
||||
|
||||
### 风格参数
|
||||
|
||||
**纹理风格(style)**:
|
||||
- `""` - 通用
|
||||
- `"sculpture"` - 石雕
|
||||
- `"qinghuaci"` - 青花瓷
|
||||
- `"china_style"` - 中国风
|
||||
- `"cartoon"` - 卡通
|
||||
- `"cyberpunk"` - 赛博朋克
|
||||
|
||||
**几何风格(geo_type)**:
|
||||
- `"default"` - 默认
|
||||
- `"voxel"` - 体素
|
||||
- `"low_poly"` - 低多边形
|
||||
|
||||
### 动作类型(motionType)
|
||||
|
||||
| ID | 动作 |
|
||||
|----|------|
|
||||
| 9 | 跨步(Capoeira) |
|
||||
| 10 | 摔倒(FallingBackDeath) |
|
||||
| 11 | 跳跃(Jumping) |
|
||||
| 12 | 踢腿(Kicking) |
|
||||
| 13 | 挥击(OneHandSwordCombo) |
|
||||
| 15 | 跑步(TreadmillRunning) |
|
||||
| 16 | 跳舞(TwistDance) |
|
||||
|
||||
---
|
||||
|
||||
## 完整调用流程
|
||||
|
||||
### 图生3D流程
|
||||
```
|
||||
1. POST /resource/genUploadInfo → 获取COS凭证
|
||||
2. 上传图片到COS → 获取resourceUrl
|
||||
3. POST /resource/review → 图片审核
|
||||
4. POST /creations/generations → 触发生成
|
||||
5. GET /creations/detail → 轮询状态
|
||||
6. 下载模型文件(glb/obj)
|
||||
```
|
||||
|
||||
### 文生3D流程
|
||||
```
|
||||
1. POST /creations/generations (带text参数) → 触发生成
|
||||
2. GET /creations/detail → 轮询状态
|
||||
3. 下载模型文件
|
||||
```
|
||||
|
||||
### 动画生成流程
|
||||
```
|
||||
1. 先生成/上传3D模型
|
||||
2. POST /creations/generations (modelType=animation3dV2, motionType=X)
|
||||
3. GET /creations/detail → 轮询状态
|
||||
4. 下载带动画的模型
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 限制与注意事项
|
||||
|
||||
1. **配额限制**: 每日20次生成配额
|
||||
2. **频率限制**: 频繁调用会触发"今天操作频繁,请明天再试"
|
||||
3. **count参数**: 必须固定为1,其他值会报错
|
||||
4. **faceCount**: 图生3D固定1500000,拓扑减面用5000/18000/30000
|
||||
5. **图片格式**: 必须通过腾讯COS上传获取resourceId
|
||||
Reference in New Issue
Block a user