3D 模型 API
EasyAI 3D 模型生成与编辑接口的请求参数 Schema 和调用示例。
EasyAI 提供文生 3D、图生 3D、多视图生 3D,以及拆分、补全、重拓扑、纹理、绑定和动画等编辑接口。本页的字段和示例以当前后端 mesh3d 控制器、请求类型及参数校验为准。
3D 接口均为异步任务:提交成功只表示任务已创建。请保存响应中的 task_id,通过任务查询接口或 WebSocket 获取最终状态和模型 URL。
基础信息
- 基础路径:
/v1/mesh3d - 认证方式:
Authorization: Bearer {token} - 请求格式:
Content-Type: application/json - 模型字段:请求中的
model是 EasyAI 模型别名,不是上游平台原始model_version - 图片输入:推荐先上传文件,再通过
file.url或file.path传入可访问地址
模型别名应从 获取模型清单 动态获取,并按 text_to_model、image_to_model、multiview_to_model 或 mesh_edit 能力筛选。不同模型支持的质量、面数、视角和编辑操作可能不同。
模型系列与能力来源
EasyAI 请求中的 model 使用模型清单返回的别名;上游模型名仅用于说明能力来源,不要把上游名称直接作为 model 提交。生成接口是多平台统一入口,但各模型支持的字段、范围和默认行为并不相同。
| EasyAI 模型别名 | 上游模型或系列 | 生成能力概览 |
|---|---|---|
混元3D-v3.0、混元3D-v3.1 | 腾讯混元生 3D 专业版 | 文生、图生和多视图生 3D;face_limit 对应上游 FaceCount。v3.1 支持最多 8 个语义视图,但不支持 LowPoly |
混元3D-v2.5 | 腾讯混元生 3D 极速版 | 仅文生和图生 3D;不支持 face_limit、topology 和 smart_low_poly |
Hyper3D Rodin Gen-2、Hyper3D Rodin Gen-2.5 * | Hyper3D Rodin | 文生、图生和最多 5 视图生 3D;按模型档位和拓扑校验 face_limit,并支持输出格式、姿势和部分 Gen-2.5 高级参数 |
Trip3D-v3.0、Trip3D-v3.1 | Tripo H 系列 | 文生、图生和多视图生 3D;支持几何质量、三角面/四边面、智能低模和部件生成 |
Trip3D-P1 | Tripo P1-20260311 | 文生、图生和多视图生 3D;face_limit 为 48~20000;不支持几何质量、四边面、智能低模和部件生成 |
3D文生3D图*、3D图生3D图*、3D多视图生3D图* | Tripo Turbo / v2.5 | 旧版分能力模型别名;只能用于别名声明的生成类型 |
百炼 Trip3D-v3.1、百炼 Trip3D-P1 | 阿里云百炼 Tripo | 文生、图生和四视图生 3D;不开放 face_limit、拓扑、随机种子、智能低模和部件生成参数 |
3D拆分/补全模型v1.0、3D重拓扑模型v2.0、3D纹理管线v2.5、3D绑定算法v2.5 | Tripo 编辑模型 | 仅用于名称对应的编辑操作,不可替代生成模型 |
上游字段语义参考腾讯混元 提交专业版任务、Hyper3D Rodin Gen-2、Tripo H 系列生成 与 P 系列生成,以及阿里云百炼 Tripo-3D 模型生成。EasyAI 字段名、提交前校验和当前可用模型仍以本页及模型清单为准。
通用请求
请求参数 Schema
下列 TypeScript Schema 中,没有 ? 的字段为必填字段。实际请求体使用 JSON,不需要提交类型名。
文件与视角
生成接口
view_images 优先于旧字段 files。默认能力要求至少 2 张有效图片且必须包含 front;最大图片数、支持视角、MIME 类型、文件大小和分辨率由所选模型能力决定,同一视角不能重复。
生成参数按模型合并说明
上面的 Mesh3dGenerateBaseRequest 是所有生成平台的字段并集,不表示每个模型都支持全部字段。不能复制某个模型的请求后只替换 model;不支持的字段应整项省略,不要用 false、0 或空字符串占位。
提交前建议调用 /v1/models/list?type=text_to_model、image_to_model 或 multiview_to_model 获取模型清单,并读取目标模型的 capabilities。下表是当前 EasyAI 内置模型的合并说明;部署方覆盖了模型能力时,以接口实时返回值为准。
face_limit 支持范围
face_limit 是可选整数。生成接口省略该字段表示使用模型自适应或上游默认面数,不要为“自动”传 0、1000 或字符串 "auto"。"auto" 只用于部分编辑接口。
| 模型别名 | 生效条件 | 当前 EasyAI 校验范围 | 省略或特殊规则 |
|---|---|---|---|
混元3D-v3.0、混元3D-v3.1 | Normal 或 Geometry 生成 | 3000~1500000 | 省略时腾讯混元默认 500000;LowPoly 模式下 face_limit 不生效,且 v3.1 不支持 LowPoly |
混元3D-v2.5 | 任意生成类型 | 不支持 | 必须省略 |
Trip3D-P1 | 三角面 | EasyAI 当前校验 48~20000 | 省略时由模型自适应;Tripo 当前官方文档范围为 50~20000,新调用建议不低于 50;不支持四边面和智能低模 |
Trip3D-v3.0、Trip3D-v3.1 | geometry_quality=standard | 三角面 1000~1000000;四边面 1000~500000 | 未传 geometry_quality 时按 standard 校验 |
Trip3D-v3.0、Trip3D-v3.1 | geometry_quality=detailed | 三角面 1000~2000000;四边面 1000~1000000 | 省略时由模型自适应 |
Trip3D-v3.0、Trip3D-v3.1 | smart_low_poly=true | 三角面 1000~20000;四边面 500~10000 | 智能低模范围优先于几何质量范围 |
3D文生3D图Turbo-v1.0、3D图生3D图Turbo-v1.0、3D文生3D图v2.5、3D图生3D图v2.5、3D多视图生3D图v2.5 | 普通生成 | 三角面 1000~1000000;四边面 1000~500000 | 只能调用模型别名声明的生成类型 |
Hyper3D Rodin Gen-2、Hyper3D Rodin Gen-2.5 Extreme-Low、Hyper3D Rodin Gen-2.5 Low、Hyper3D Rodin Gen-2.5 Medium | 按 topology | 三角面 500~1000000;四边面 1000~200000 | 对应 Rodin quality_override |
Hyper3D Rodin Gen-2.5 High、Hyper3D Rodin Gen-2.5 Extreme-High | 按 topology | 三角面 20000~2000000;四边面 1000~200000 | 高面数档位的三角面下限更高 |
百炼 Trip3D-v3.1、百炼 Trip3D-P1 | 任意生成类型 | 不支持 | 必须省略;百炼通过模型和 geometry_quality 决定输出面数 |
Tripo 上游会继续按模型版本、几何质量和拓扑执行自己的限制。为了兼容上游版本变化,调用方不应把表中范围写成永久常量,应优先使用模型清单返回的 face_limit_range、face_limit_range_by_topology 或 face_limit_by_geometry_quality。
混元文生 3D 的有效请求示例:
如果不需要指定面数,直接删除 face_limit。不要把其他模型示例中的 geometry_quality、topology、export_uv、smart_low_poly 或 generate_parts 一并复制到混元 v3.1 请求。
其他生成参数支持关系
| 参数 | 支持的模型 | 取值与限制 |
|---|---|---|
enable_texture、enable_pbr | 混元、Rodin、Tripo、百炼 Tripo | enable_pbr=true 会要求生成纹理。混元两项都为 false 时转为 Geometry;百炼关闭纹理时必须同时关闭 PBR |
geometry_quality | Trip3D-v3.0、Trip3D-v3.1、百炼 Trip3D-v3.1 | EasyAI 取值为 standard、detailed;百炼会把 detailed 转为上游 ultra。P1、混元和 Rodin 不支持 |
texture_quality | Rodin、Tripo、百炼 Tripo | standard、detailed。Rodin 的 detailed 对应高清纹理;混元生成接口不使用该字段 |
topology | Rodin、Tripo H 系列和支持四边面的旧版 Tripo | triangle 或 quad。Rodin 分别映射 Raw/Quad;Tripo 四边面会影响面数范围和输出格式。混元 v3.0 仅在 LowPoly 时生效,混元 v3.1、混元 v2.5、Trip3D-P1 和百炼 Tripo 不支持 |
smart_low_poly | Tripo H 系列;混元 v3.0 | Tripo 启用后使用独立的低模面数范围;混元 v3.0 映射 LowPoly 且 face_limit 不生效。混元 v3.1、P1、Rodin 和百炼 Tripo 不支持 |
generate_parts | Trip3D-v3.0、Trip3D-v3.1 和支持部件生成的旧版 Tripo | true 时不能同时启用纹理、PBR 或四边面。P1、混元、Rodin 和百炼 Tripo 不支持 |
seed | Tripo、Rodin | 控制几何随机性;混元和百炼 Tripo 不支持 |
texture_seed、auto_size、export_uv | Tripo 官方生成模型 | P1 支持这三个字段,但仍不支持几何质量、四边面、智能低模和部件生成;混元、Rodin 和百炼 Tripo 不支持 |
negative_prompt、image_seed | 支持对应能力的 Tripo 文生模型,包括 Trip3D-P1 | 仅文生 3D 使用;混元、Rodin 和百炼 Tripo 不要传 |
geometry_file_format | Rodin | glb、usdz、fbx、obj、stl,默认 glb |
t_pose | Rodin | 生成人形 T/A Pose;其他平台不要传 |
texture_delight | Rodin Gen-2.5 图生和多视图生 3D | 去除输入图片中的烘焙光照;必须同时启用纹理 |
geometry_instruct_mode | Rodin Gen-2.5 | Extreme-Low/Low 仅 faithful;Medium/High/Extreme-High 支持 faithful、creative |
is_micro | Hyper3D Rodin Gen-2.5 Extreme-High | 是否启用微细节几何,仅该档位支持 |
view_images | 支持多视图的模型 | Trip3D 通常为 2~4 张且包含 front;混元 v3.0 为 2~4 张、v3.1 为 2~8 张;Rodin 为 2~5 张;百炼 Tripo 固定 4 张 |
编辑接口
编辑请求中的 history_id 是当前操作所基于的 3D 历史记录 ID。生成接口返回的是 mesh3d_history_id,后续编辑时应将其作为 history_id 传入。
编辑模型必须支持对应操作。Tripo 拆分/补全、重拓扑、纹理和绑定使用不同的模型版本,不能把生成模型别名任意混用。请以模型列表返回的 mesh_edit 能力为准。
生成接口示例
1. 文生 3D
方法 POST
路径 /v1/mesh3d/generate/text
请求参数说明
| 字段 | 类型 | 必填 | 含义与要求 |
|---|---|---|---|
model | string | 是 | EasyAI 模型别名。示例对应 Trip3D v3.1-20260211;请从模型清单中选择支持 text_to_model 的模型 |
prompt | string | 是 | 正向提示词,描述要生成的主体、形态和风格;最长 1024 个字符,支持多语言,不建议使用 Emoji 或特殊 Unicode 字符 |
negative_prompt | string | 否 | 反向提示词,用于排除不希望出现的内容;最长 255 个字符 |
geometry_quality | standard | detailed | 否 | 几何质量。standard 平衡速度与细节,detailed 启用更高细节;仅 Trip3D v3.0 及以上生成模型支持,P1 不支持 |
texture_quality | standard | detailed | 否 | 纹理质量,detailed 生成更高分辨率纹理。当前 EasyAI 接口仅开放这两个值 |
enable_texture | boolean | 否 | 是否生成颜色纹理;EasyAI 调用 Trip3D 时默认 true |
enable_pbr | boolean | 否 | 是否生成 PBR 材质;EasyAI 调用 Trip3D 时默认 false。设为 true 时上游会同时启用颜色纹理 |
topology | triangle | quad | 否 | 输出拓扑类型。quad 会启用四边面输出并强制上游输出 FBX;P1 不支持四边面 |
seed | integer | 否 | 几何生成随机种子,对应 Trip3D model_seed;相同模型与参数使用相同种子可提高几何结果的一致性 |
本例对应 Trip3D H 系列,还可按上方支持关系传 face_limit、texture_seed、auto_size、generate_parts、smart_low_poly 和 export_uv。generate_parts=true 与纹理、PBR、四边面互斥。更换 model 时必须重新按目标模型能力筛选字段,不能只替换模型名。
2. 图生 3D
方法 POST
路径 /v1/mesh3d/generate/image
请求参数说明
| 字段 | 类型 | 必填 | 含义与要求 |
|---|---|---|---|
model | string | 是 | EasyAI 模型别名。示例对应 Trip3D P1-20260311,适合低面数和结构化拓扑;只能提交 P1 官方支持的字段 |
file | object | 是 | 输入图片对象;url、path、file_token、object 至少提供一种来源 |
file.url | string | 条件必填 | 可直接下载的图片 URL。Trip3D 支持 JPEG/PNG,最大 20MB,建议分辨率大于 256×256 |
file.originalname | string | 否 | 原始文件名,用于识别扩展名和记录文件信息 |
file.mimetype | string | 否 | MIME 类型,建议与真实文件一致,例如 image/png |
file.width / file.height | integer | 否 | 图片宽高,单位为像素,用于提交前的模型能力校验 |
enable_texture | boolean | 否 | 是否生成颜色纹理;EasyAI 调用 Trip3D 时默认 true |
enable_pbr | boolean | 否 | 是否生成 PBR 材质;示例显式开启。设为 true 时颜色纹理也会被启用 |
texture_quality | standard | detailed | 否 | 纹理质量;detailed 生成更细致的高分辨率纹理 |
enable_image_autofix | boolean | 否 | 是否先自动优化输入图以改善建模结果;Trip3D 默认 false |
使用 Trip3D-P1 时还可传 face_limit(48~20000)、seed、texture_seed、auto_size、export_uv、texture_alignment 和 orientation;不要传 geometry_quality、四边面、smart_low_poly 或 generate_parts。
3. 多视图生 3D
方法 POST
路径 /v1/mesh3d/generate/multiview
请求参数说明
| 字段 | 类型 | 必填 | 含义与要求 |
|---|---|---|---|
model | string | 是 | EasyAI 模型别名;必须选择支持 multiview_to_model 的模型 |
view_images | arrayobject | 是 | 带语义视角的图片列表。至少 2 张有效图片且必须包含 front,同一视角不能重复 |
view_images[].view_type | string | 是 | 图片视角,可选 front、left_front、right_front、left、right、back、top、bottom;最终可选值以模型能力为准 |
view_images[].file | object | 是 | 当前视角的图片对象;图片来源字段至少提供一个 |
view_images[].file.url | string | 条件必填 | 可直接下载的 JPEG/PNG URL,最大 20MB,建议分辨率大于 256×256 |
view_images[].file.mimetype | string | 否 | 图片 MIME 类型,例如 image/png |
enable_texture | boolean | 否 | 是否生成颜色纹理;EasyAI 调用 Trip3D 时默认 true |
enable_pbr | boolean | 否 | 是否生成 PBR 材质;设为 true 时颜色纹理也会启用 |
geometry_quality | standard | detailed | 否 | 几何质量,仅 Trip3D v3.0 及以上生成模型支持;P1 不支持 |
各视图必须是同一主体,方向关系应一致。Trip3D 官方四视图语义为正面、主体左侧、背面、主体右侧(约 0°/90°/180°/270°);“左侧”以图中主体自身的左侧为准。
旧版固定槽位写法仍兼容,但不建议新接入使用:
| 字段 | 类型 | 必填 | 含义与要求 |
|---|---|---|---|
model | string | 是 | 支持多视图生 3D 的 EasyAI 模型别名 |
files | arrayobject | null | 是 | 兼容旧协议的固定四槽位数组,顺序必须是 [front, left, back, right];正面不可省略,至少提供 2 张有效图片 |
files[].url | string | 条件必填 | 当前槽位的可下载图片 URL;缺少的非正面视角使用 null 占位,不能缩短数组改变顺序 |
编辑接口示例
4. 部件拆分
路径 POST /v1/mesh3d/edit/segmentation
请求参数说明
| 字段 | 类型 | 必填 | 含义与要求 |
|---|---|---|---|
history_id | string | 是 | 当前要拆分的 3D 历史记录 ID。EasyAI 会从历史记录解析 Trip3D 的 original_model_task_id |
model | string | 是 | 必须选择拆分模型别名 3D拆分/补全模型v1.0,其上游版本为 v1.0-20250506;不要传生成模型别名 |
model_version_seg | string | 否 | 显式指定拆分算法版本;当前仅支持 v1.0-20250506,通常省略并由 model 解析 |
源历史必须来自 Trip3D 支持的文生、图生、多视图、纹理、精修、导入或智能重拓扑任务。拆分会按模型结构生成部件名称,供后续补全、重拓扑、纹理和转换操作使用。
5. 部件补全
路径 POST /v1/mesh3d/edit/completion
请求参数说明
| 字段 | 类型 | 必填 | 含义与要求 |
|---|---|---|---|
history_id | string | 是 | 必须指向已成功完成部件拆分的历史记录 |
model | string | 是 | 必须选择 3D拆分/补全模型v1.0,对应 Trip3D v1.0-20250506 |
part_names | arraystring | 是 | 要补全的部件名称列表,值来自拆分任务结果;EasyAI 请求 Schema 要求显式提供 |
model_version_seg | string | 否 | 显式指定补全算法版本;当前仅支持 v1.0-20250506 |
Trip3D 上游只接受 mesh_segmentation 任务作为补全输入。不要传用户界面显示名称或自行编造部件名。
6. 智能重拓扑
路径 POST /v1/mesh3d/edit/smart-lowpoly
请求参数说明
| 字段 | 类型 | 必填 | 含义与要求 |
|---|---|---|---|
history_id | string | 是 | 当前要重拓扑的 3D 历史记录 ID |
model | string | 是 | 必须选择 3D重拓扑模型v2.0,对应 Trip3D P-v2.0-20251225;旧版 P-v1.0-20250506 已废弃 |
topology | triangle | quad | 否 | 目标拓扑;triangle 为三角面,quad 为四边面。若同时传 quad,以 topology 为准 |
face_limit | integer | auto | 否 | 目标面数;auto 或省略表示由 Trip3D 自适应。EasyAI 默认校验:三角面 1000~20000,四边面 500~10000 |
quad | boolean | 否 | 旧版四边面开关,与 topology 二选一;新接入优先使用 topology |
part_names | arraystring | 否 | 仅处理指定拆分部件;名称来自部件拆分结果 |
bake | boolean | 否 | 是否烘焙模型,Trip3D 默认 true |
- Tripo 可使用数值或
"auto"。默认校验范围为:三角面1000~20000,四边面500~10000;模型能力可进一步收紧范围。 - 混元可使用
"high"、"medium"、"low"、数值或省略。数值会由后端映射到对应档位。
7. 纹理生成/编辑
路径 POST /v1/mesh3d/edit/texture
请求参数说明
| 字段 | 类型 | 必填 | 含义与要求 |
|---|---|---|---|
history_id | string | 是 | 当前要生成或编辑纹理的 3D 历史记录 ID |
model | string | 是 | 纹理模型别名。示例 3D纹理管线v2.5 对应 Trip3D v2.5-20250123;不要使用拆分或绑定算法别名 |
texture / enable_texture | boolean | 否 | 是否生成或重绘颜色纹理,两个字段语义相同,优先使用 texture;Trip3D 默认 true |
pbr / enable_pbr | boolean | 否 | 是否生成 PBR 材质,两个字段语义相同,优先使用 pbr;Trip3D 默认 true |
texture_quality | standard | detailed | 否 | 纹理质量,默认 standard。当前 EasyAI 接口仅开放这两个值;detailed 会生成更高分辨率纹理 |
texture_alignment | original_image | geometry | 否 | 纹理对齐策略。original_image 优先还原参考图外观;geometry 优先贴合 3D 几何结构 |
texture_seed | integer | 否 | 纹理随机种子;相同模型、提示和种子可提高纹理结果的一致性 |
part_names | arraystring | 否 | 只处理指定拆分部件;省略时处理拆分得到的全部部件 |
compress | geometry | 否 | 使用几何压缩;通常需要在 3D 编辑软件中解压后再编辑 |
bake | boolean | 否 | 是否将高级材质效果烘焙进基础纹理,Trip3D 默认 true |
texture_prompt | object | 否 | 纹理提示对象。可使用 text、单张 image 或多视图 view_images/旧版 images;三类输入互斥 |
texture_prompt.text | string | 否 | 纹理文字描述,与 image、view_images/images 互斥 |
texture_prompt.image | object | 否 | 单张纹理参考图,分辨率需在 20~6000 像素之间,建议大于 256 像素 |
texture_prompt.style_image | object | 否 | 风格参考图,可与主要纹理提示一起使用;JPEG/PNG 最大 20MB,建议分辨率大于 256 像素 |
texture_prompt.view_images | arrayobject | 否 | 新版多视图纹理参考图,至少 2 张且必须包含正面;同一视角不能重复 |
源历史应来自文生、图生、多视图、纹理或导入任务,Trip3D 1.x 生成任务不支持纹理编辑。texture_quality=standard 时不能同时把 texture 和 pbr 设为 false;detailed + texture=false + pbr=false 的 4K 放大模式仅适用于 Trip3D v3.0 纹理模型。
当 texture_quality 为 standard 时,不能同时关闭 texture/enable_texture 和 pbr/enable_pbr。texture_prompt.view_images 与多视图生成使用相同的语义视角规则。
8. 格式转换
路径 POST /v1/mesh3d/edit/convert
请求参数说明
| 字段 | 类型 | 必填 | 含义与要求 |
|---|---|---|---|
history_id | string | 是 | 当前要转换的 3D 历史记录 ID;可来自生成、纹理、精修、导入、绑定、动画或上一次转换任务 |
model | string | 是 | 用于路由和计费的 EasyAI 模型别名,必须在模型清单中声明 convert 能力 |
format | string | 是 | 目标格式。Trip3D 支持 GLTF、USDZ、FBX、OBJ、STL、3MF;建议使用大写值。OBJ、STL、3MF 不支持已绑定模型 |
topology | triangle | quad | 否 | 是否进行四边面重拓扑;quad 对应 Trip3D quad=true。GLTF 和 STL 最终仍以三角面存储 |
quad | boolean | 否 | 旧版四边面开关;与 topology 二选一,优先使用 topology |
force_symmetry | boolean | 否 | 强制四边面重拓扑对称,仅在四边面模式下生效 |
face_limit | integer | 否 | 输出面数上限,Trip3D 默认 10000;四边面模式按多边形计数,否则按三角面计数 |
flatten_bottom | boolean | 否 | 是否将模型底部压平 |
flatten_bottom_threshold | number | 否 | 底部压平深度,仅 flatten_bottom=true 时生效,Trip3D 默认 0.01 |
texture_size | integer | 否 | 漫反射纹理尺寸,单位像素;Trip3D v2.0 及以上模型默认 4096,其他模型默认 2048,传入值不应超过对应默认值 |
texture_format | string | 否 | 纹理格式,支持 BMP、DPX、HDR、JPEG、OPEN_EXR、PNG、TARGA、TIFF、WEBP;FBX 默认 PNG,其他格式默认 JPEG |
pivot_to_center_bottom | boolean | 否 | 是否把模型轴心移动到底部中心,默认 false |
scale_factor | number | 否 | 模型缩放倍数,默认 1 |
with_animation | boolean | 否 | 是否携带骨骼绑定和动画结构,默认 true;开启四边面重拓扑时骨骼数据仍会被移除 |
pack_uv | boolean | 否 | 是否把多个部件的 UV 岛合并到一个布局并导出单张纹理,默认 false |
bake | boolean | 否 | 是否将法线、环境光遮蔽等高级材质效果烘焙到基础纹理,默认 true |
part_names | arraystring | 否 | 仅转换指定拆分部件 |
animate_in_place | boolean | 否 | 是否让动画原地播放,默认 false |
export_vertex_colors | boolean | 否 | 是否导出顶点色,仅 OBJ 或 GLTF 支持,默认 false |
export_orientation | +x | -x | +y | -y | 否 | 模型导出朝向,默认 +x |
fbx_preset | blender | 3dsmax | mixamo | 否 | FBX 兼容性预设,默认 blender,当前为实验参数 |
如果对已经转换过的 Trip3D 任务再次转换,上游只支持修改 format。选择 STL 时不会保留纹理;实际可选值仍受所选模型能力限制。
9. 可绑定检查
路径 POST /v1/mesh3d/edit/check-riggable
请求参数说明
| 字段 | 类型 | 必填 | 含义与要求 |
|---|---|---|---|
history_id | string | 是 | 要检查的 3D 历史记录 ID;EasyAI 会解析为 Trip3D 上一任务 ID |
model | string | 是 | 必须选择绑定算法模型别名,推荐 3D绑定算法v2.5;不要传 Trip3D v3.x 生成模型别名 |
检查结果会返回是否可绑定以及建议的 rig_type。为提高成功率,角色应具有清晰四肢、较简单的服装和合理的身体连接;建议先检查,再将返回的骨骼类型用于绑定。
10. 骨骼绑定
路径 POST /v1/mesh3d/edit/rig
请求参数说明
| 字段 | 类型 | 必填 | 含义与要求 |
|---|---|---|---|
history_id | string | 是 | 要执行骨骼绑定的 3D 历史记录 ID |
model | string | 是 | 绑定算法模型别名,用于平台路由、并发和计费;推荐 3D绑定算法v2.5 |
out_format | glb | fbx | 否 | 输出格式,Trip3D 默认 glb |
rig_type | string | 否 | 骨骼类型:biped、quadruped、hexapod、octopod、avian、serpentine、aquatic;默认 biped,建议使用可绑定检查结果 |
spec | tripo | mixamo | 否 | 绑定规范,Trip3D 默认 tripo。后续需要动画重定向时必须使用 tripo |
rigging_model_version | string | 否 | Trip3D 绑定算法版本,与 model 别名分离;推荐 v2.5-20260210。v2.0-20250506 已废弃,v1.0-20240301 仅建议用于双足角色 |
rigging_model_version 是绑定算法版本,与 model 别名分离;省略时由后端根据 model 解析。
11. 动画重定向
路径 POST /v1/mesh3d/edit/retarget-animation
单个动画:
批量动画:
请求参数说明
| 字段 | 类型 | 必填 | 含义与要求 |
|---|---|---|---|
history_id | string | 是 | 必须指向成功的 Trip3D 骨骼绑定历史;绑定时需使用 spec=tripo |
model | string | 否 | 绑定算法模型别名;省略时 EasyAI 从绑定历史推断,用于选择平台实例和计费,不会作为上游 model_version 提交 |
animation | string | 条件必填 | 单个预设动画 ID,与 animations 二选一。v2.5 可用值包括 preset:idle、preset:walk、preset:run 等 |
animations | arraystring | 条件必填 | 批量预设动画 ID,与 animation 二选一;至少 1 项,最多 5 项 |
out_format | glb | fbx | 否 | 输出格式,Trip3D 默认 glb |
bake_animation | boolean | 否 | 是否把动画烘焙进输出,默认 true;仅对 GLB 输出生效 |
export_with_geometry | boolean | 否 | 是否在输出中包含几何体,默认 true |
animate_in_place | boolean | 否 | 是否让动画原地播放,默认 false |
动画预设与绑定算法版本、骨骼类型有关,必须使用 Trip3D 官方列出的完整预设 ID;animation 与 animations 至少传一个,批量最多 5 项。
12. 模型精修
路径 POST /v1/mesh3d/edit/refine
请求参数说明
| 字段 | 类型 | 必填 | 含义与要求 |
|---|---|---|---|
history_id | string | 是 | 当前草稿模型的 EasyAI 历史记录 ID |
model | string | 是 | 用于路由和计费的 EasyAI 模型别名,必须在模型清单中声明 refine 能力;它不改变草稿任务自身的 Trip3D 版本 |
draft_model_task_id | string | 否 | Trip3D 草稿任务 ID;省略时 EasyAI 尝试从 history_id 解析。上游只接受文生、图生或多视图生 3D 的草稿任务 |
Trip3D 官方精修接口不支持 model_version >= v2.0-20240919 的草稿,因此不能精修由 Trip3D v2.x、v3.x 或 P1 生成的模型。示例中的 model 只是 EasyAI 路由别名,history_id 和 draft_model_task_id 必须实际指向 v2.0 以前的草稿任务。
13. 模型风格化
路径 POST /v1/mesh3d/edit/stylize
请求参数说明
| 字段 | 类型 | 必填 | 含义与要求 |
|---|---|---|---|
history_id | string | 是 | 当前要风格化的 3D 历史记录 ID |
model | string | 是 | 用于路由和计费的 EasyAI 模型别名,必须在模型清单中声明 stylize 能力 |
style | lego | voxel | voronoi | minecraft | 是 | 风格类型:乐高积木、体素、Voronoi 效果或 Minecraft .schem 输出 |
block_size | integer | 否 | 网格块大小,范围 32~128、默认 80;仅 style=minecraft 时生效 |
源历史可来自 Trip3D 文生、图生、多视图、纹理、精修、导入、骨骼绑定或动画重定向任务。
style 和 block_size 的最终可用值仍由所选模型能力决定。
提交响应与结果查询
生成接口响应:
编辑接口响应:
material_id:3D 素材 ID。task_id:统一异步任务 ID,用于 查询异步任务结果 或关联 WebSocket 进度。mesh3d_history_id/history_id:本次操作创建的 3D 历史记录 ID,下一次编辑时传给请求体的history_id。
最终成功结果中的 3D 文件通常位于任务结果的 output_content 或 output,常见角色包括 model、base_model、pbr_model 和 preview。调用方应按角色优先读取,不要只依赖数组位置。
常见错误
| 场景 | 原因与处理 |
|---|---|
| 当前模型不支持某操作 | 重新获取模型列表,选择声明了对应 mesh_edit 能力的模型 |
多视图缺少 front | 至少提交正面图和另一张有效视图 |
| 视角或图片数量不支持 | 按所选模型的多视图能力调整 view_images |
生成接口的 face_limit 超出范围 | 按模型、拓扑和质量能力调整整数面数;不需要指定时删除该字段,不要传 0 或 "auto" |
编辑接口的 face_limit 超出范围 | 智能重拓扑按目标模型使用合法数值;仅在该编辑模型明确支持时使用 "auto"、"high"、"medium" 或 "low" |
| 找不到历史版本 | 确认 history_id 属于当前用户,并来自成功创建的 3D 素材 |
| 绑定模型版本无效 | 使用绑定算法模型,不要传文生/图生 3D 的生成模型版本 |
| 动画参数为空 | animation 或 animations 至少提供一个非空预设 ID |