3D 模型 API

EasyAI 3D 模型生成与编辑接口的请求参数 Schema 和调用示例。

EasyAI 提供文生 3D、图生 3D、多视图生 3D,以及拆分、补全、重拓扑、纹理、绑定和动画等编辑接口。本页的字段和示例以当前后端 mesh3d 控制器、请求类型及参数校验为准。

基础信息

  • 基础路径/v1/mesh3d
  • 认证方式Authorization: Bearer {token}
  • 请求格式Content-Type: application/json
  • 模型字段:请求中的 model 是 EasyAI 模型别名,不是上游平台原始 model_version
  • 图片输入:推荐先上传文件,再通过 file.urlfile.path 传入可访问地址

模型别名应从 获取模型清单 动态获取,并按 text_to_modelimage_to_modelmultiview_to_modelmesh_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_limittopologysmart_low_poly
Hyper3D Rodin Gen-2Hyper3D Rodin Gen-2.5 *Hyper3D Rodin文生、图生和最多 5 视图生 3D;按模型档位和拓扑校验 face_limit,并支持输出格式、姿势和部分 Gen-2.5 高级参数
Trip3D-v3.0Trip3D-v3.1Tripo H 系列文生、图生和多视图生 3D;支持几何质量、三角面/四边面、智能低模和部件生成
Trip3D-P1Tripo P1-20260311文生、图生和多视图生 3D;face_limit48~20000;不支持几何质量、四边面、智能低模和部件生成
3D文生3D图*3D图生3D图*3D多视图生3D图*Tripo Turbo / v2.5旧版分能力模型别名;只能用于别名声明的生成类型
百炼 Trip3D-v3.1百炼 Trip3D-P1阿里云百炼 Tripo文生、图生和四视图生 3D;不开放 face_limit、拓扑、随机种子、智能低模和部件生成参数
3D拆分/补全模型v1.03D重拓扑模型v2.03D纹理管线v2.53D绑定算法v2.5Tripo 编辑模型仅用于名称对应的编辑操作,不可替代生成模型

通用请求

curl --request POST 'https://51easyai.com/api/v1/mesh3d/generate/text' \
  --header 'Authorization: Bearer YOUR_API_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "Trip3D-v3.1",
    "prompt": "一只坐着的卡通橘猫",
    "enable_texture": true,
    "enable_pbr": true
  }'

请求参数 Schema

下列 TypeScript Schema 中,没有 ? 的字段为必填字段。实际请求体使用 JSON,不需要提交类型名。

文件与视角

interface Mesh3dFile {
  // 以下来源字段至少传一个;调用 OpenAPI 时优先使用 url 或 path
  url?: string
  path?: string
  file_token?: string
  object?: {
    bucket: string
    key: string
  }

  // 文件元信息,用于平台格式、大小和分辨率校验
  type?: string
  originalname?: string
  mimetype?: string
  size?: number
  width?: number
  height?: number
}

type Mesh3dViewType =
  | 'front'
  | 'left_front'
  | 'right_front'
  | 'left'
  | 'right'
  | 'back'
  | 'top'
  | 'bottom'

interface Mesh3dViewImage {
  view_type: Mesh3dViewType
  file: Mesh3dFile
}

生成接口

interface Mesh3dGenerateBaseRequest {
  model: string
  enable_texture?: boolean
  enable_pbr?: boolean
  texture_quality?: 'standard' | 'detailed'
  geometry_quality?: 'standard' | 'detailed'
  topology?: 'triangle' | 'quad'
  face_limit?: number
  seed?: number
  texture_seed?: number
  auto_size?: boolean
  generate_parts?: boolean
  smart_low_poly?: boolean
  export_uv?: boolean
  style?: string
  geometry_file_format?: 'glb' | 'usdz' | 'fbx' | 'obj' | 'stl' | string
  texture_delight?: boolean
  t_pose?: boolean
  geometry_instruct_mode?: 'faithful' | 'creative'
  is_micro?: boolean
}

interface TextToModelRequest extends Mesh3dGenerateBaseRequest {
  prompt: string
  negative_prompt?: string
  image_seed?: number
}

interface ImageToModelRequest extends Mesh3dGenerateBaseRequest {
  file: Mesh3dFile
  texture_alignment?: string
  orientation?: string
  enable_image_autofix?: boolean
}

interface MultiviewToModelRequest extends Mesh3dGenerateBaseRequest {
  view_images: Mesh3dViewImage[]
  texture_alignment?: string
  orientation?: string
  enable_image_autofix?: boolean

  // 兼容旧协议,槽位顺序固定为 [front, left, back, right];新接入请使用 view_images
  files?: Array<Mesh3dFile | null>
}

view_images 优先于旧字段 files。默认能力要求至少 2 张有效图片且必须包含 front;最大图片数、支持视角、MIME 类型、文件大小和分辨率由所选模型能力决定,同一视角不能重复。

生成参数按模型合并说明

提交前建议调用 /v1/models/list?type=text_to_modelimage_to_modelmultiview_to_model 获取模型清单,并读取目标模型的 capabilities。下表是当前 EasyAI 内置模型的合并说明;部署方覆盖了模型能力时,以接口实时返回值为准。

face_limit 支持范围

face_limit 是可选整数。生成接口省略该字段表示使用模型自适应或上游默认面数,不要为“自动”传 01000 或字符串 "auto""auto" 只用于部分编辑接口。

模型别名生效条件当前 EasyAI 校验范围省略或特殊规则
混元3D-v3.0混元3D-v3.1Normal 或 Geometry 生成3000~1500000省略时腾讯混元默认 500000;LowPoly 模式下 face_limit 不生效,且 v3.1 不支持 LowPoly
混元3D-v2.5任意生成类型不支持必须省略
Trip3D-P1三角面EasyAI 当前校验 48~20000省略时由模型自适应;Tripo 当前官方文档范围为 50~20000,新调用建议不低于 50;不支持四边面和智能低模
Trip3D-v3.0Trip3D-v3.1geometry_quality=standard三角面 1000~1000000;四边面 1000~500000未传 geometry_quality 时按 standard 校验
Trip3D-v3.0Trip3D-v3.1geometry_quality=detailed三角面 1000~2000000;四边面 1000~1000000省略时由模型自适应
Trip3D-v3.0Trip3D-v3.1smart_low_poly=true三角面 1000~20000;四边面 500~10000智能低模范围优先于几何质量范围
3D文生3D图Turbo-v1.03D图生3D图Turbo-v1.03D文生3D图v2.53D图生3D图v2.53D多视图生3D图v2.5普通生成三角面 1000~1000000;四边面 1000~500000只能调用模型别名声明的生成类型
Hyper3D Rodin Gen-2Hyper3D Rodin Gen-2.5 Extreme-LowHyper3D Rodin Gen-2.5 LowHyper3D Rodin Gen-2.5 Mediumtopology三角面 500~1000000;四边面 1000~200000对应 Rodin quality_override
Hyper3D Rodin Gen-2.5 HighHyper3D Rodin Gen-2.5 Extreme-Hightopology三角面 20000~2000000;四边面 1000~200000高面数档位的三角面下限更高
百炼 Trip3D-v3.1百炼 Trip3D-P1任意生成类型不支持必须省略;百炼通过模型和 geometry_quality 决定输出面数

混元文生 3D 的有效请求示例:

{
  "model": "混元3D-v3.1",
  "prompt": "一只坐着的卡通橘猫,完整身体,干净拓扑",
  "enable_texture": false,
  "enable_pbr": false,
  "face_limit": 3000
}

如果不需要指定面数,直接删除 face_limit。不要把其他模型示例中的 geometry_qualitytopologyexport_uvsmart_low_polygenerate_parts 一并复制到混元 v3.1 请求。

其他生成参数支持关系

参数支持的模型取值与限制
enable_textureenable_pbr混元、Rodin、Tripo、百炼 Tripoenable_pbr=true 会要求生成纹理。混元两项都为 false 时转为 Geometry;百炼关闭纹理时必须同时关闭 PBR
geometry_qualityTrip3D-v3.0Trip3D-v3.1百炼 Trip3D-v3.1EasyAI 取值为 standarddetailed;百炼会把 detailed 转为上游 ultra。P1、混元和 Rodin 不支持
texture_qualityRodin、Tripo、百炼 Tripostandarddetailed。Rodin 的 detailed 对应高清纹理;混元生成接口不使用该字段
topologyRodin、Tripo H 系列和支持四边面的旧版 Tripotrianglequad。Rodin 分别映射 Raw/Quad;Tripo 四边面会影响面数范围和输出格式。混元 v3.0 仅在 LowPoly 时生效,混元 v3.1、混元 v2.5、Trip3D-P1 和百炼 Tripo 不支持
smart_low_polyTripo H 系列;混元 v3.0Tripo 启用后使用独立的低模面数范围;混元 v3.0 映射 LowPoly 且 face_limit 不生效。混元 v3.1、P1、Rodin 和百炼 Tripo 不支持
generate_partsTrip3D-v3.0Trip3D-v3.1 和支持部件生成的旧版 Tripotrue 时不能同时启用纹理、PBR 或四边面。P1、混元、Rodin 和百炼 Tripo 不支持
seedTripo、Rodin控制几何随机性;混元和百炼 Tripo 不支持
texture_seedauto_sizeexport_uvTripo 官方生成模型P1 支持这三个字段,但仍不支持几何质量、四边面、智能低模和部件生成;混元、Rodin 和百炼 Tripo 不支持
negative_promptimage_seed支持对应能力的 Tripo 文生模型,包括 Trip3D-P1仅文生 3D 使用;混元、Rodin 和百炼 Tripo 不要传
geometry_file_formatRodinglbusdzfbxobjstl,默认 glb
t_poseRodin生成人形 T/A Pose;其他平台不要传
texture_delightRodin Gen-2.5 图生和多视图生 3D去除输入图片中的烘焙光照;必须同时启用纹理
geometry_instruct_modeRodin Gen-2.5Extreme-Low/Low 仅 faithful;Medium/High/Extreme-High 支持 faithfulcreative
is_microHyper3D 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 张

编辑接口

interface Mesh3dEditBaseRequest {
  model: string
  history_id: string
}

interface SegmentationRequest extends Mesh3dEditBaseRequest {
  model_version_seg?: string
}

interface CompletionRequest extends Mesh3dEditBaseRequest {
  part_names: string[]
  model_version_seg?: string
}

interface SmartLowpolyRequest extends Mesh3dEditBaseRequest {
  topology?: 'triangle' | 'quad'
  face_limit?: number | 'auto' | 'high' | 'medium' | 'low'
  quad?: boolean
  part_names?: string[]
  bake?: boolean
}

interface TexturePrompt {
  text?: string
  image?: Mesh3dFile
  style_image?: Mesh3dFile
  view_images?: Mesh3dViewImage[]

  // 兼容旧协议,槽位顺序固定为 [front, left, back, right]
  images?: Mesh3dFile[]
}

interface TextureRequest extends Mesh3dEditBaseRequest {
  enable_texture?: boolean
  enable_pbr?: boolean
  texture?: boolean
  pbr?: boolean
  seed?: number
  texture_seed?: number
  texture_quality?: 'standard' | 'detailed' | string
  texture_alignment?: 'original_image' | 'geometry' | string
  part_names?: string[]
  compress?: 'geometry' | string
  bake?: boolean
  texture_prompt?: TexturePrompt
}

interface ConvertRequest extends Mesh3dEditBaseRequest {
  format: string
  topology?: 'triangle' | 'quad'
  force_symmetry?: boolean
  face_limit?: number
  flatten_bottom?: boolean
  flatten_bottom_threshold?: number
  texture_size?: number
  texture_format?: string
  pivot_to_center_bottom?: boolean
  with_animation?: boolean
  pack_uv?: boolean
  bake?: boolean
  part_names?: string[]
  scale_factor?: number
  animate_in_place?: boolean
  export_vertex_colors?: boolean
  export_orientation?: string
  fbx_preset?: string
  quad?: boolean
}

type CheckRiggableRequest = Mesh3dEditBaseRequest

interface RigRequest extends Mesh3dEditBaseRequest {
  out_format?: 'glb' | 'fbx'
  rig_type?: 'biped' | 'quadruped' | 'hexapod' | 'octopod' | 'avian' | 'serpentine' | 'aquatic' | string
  spec?: 'mixamo' | 'tripo' | string
  rigging_model_version?: 'v2.5-20260210' | 'v2.0-20250506' | 'v1.0-20240301'
}

interface RetargetAnimationRequest {
  history_id: string
  model?: string
  animation?: string
  animations?: string[]
  out_format?: 'glb' | 'fbx'
  bake_animation?: boolean
  export_with_geometry?: boolean
  animate_in_place?: boolean
}

interface RefineRequest extends Mesh3dEditBaseRequest {
  draft_model_task_id?: string
}

interface StylizeRequest extends Mesh3dEditBaseRequest {
  style: string
  block_size?: number
}

编辑请求中的 history_id 是当前操作所基于的 3D 历史记录 ID。生成接口返回的是 mesh3d_history_id,后续编辑时应将其作为 history_id 传入。

生成接口示例

1. 文生 3D

方法 POST

路径 /v1/mesh3d/generate/text

{
  "model": "Trip3D-v3.1",
  "prompt": "一只坐着的卡通橘猫,完整身体,干净拓扑",
  "negative_prompt": "模糊,残缺,多个主体",
  "geometry_quality": "detailed",
  "texture_quality": "detailed",
  "enable_texture": true,
  "enable_pbr": true,
  "topology": "triangle",
  "seed": 20260714
}

请求参数说明

字段类型必填含义与要求
modelstringEasyAI 模型别名。示例对应 Trip3D v3.1-20260211;请从模型清单中选择支持 text_to_model 的模型
promptstring正向提示词,描述要生成的主体、形态和风格;最长 1024 个字符,支持多语言,不建议使用 Emoji 或特殊 Unicode 字符
negative_promptstring反向提示词,用于排除不希望出现的内容;最长 255 个字符
geometry_qualitystandard | detailed几何质量。standard 平衡速度与细节,detailed 启用更高细节;仅 Trip3D v3.0 及以上生成模型支持,P1 不支持
texture_qualitystandard | detailed纹理质量,detailed 生成更高分辨率纹理。当前 EasyAI 接口仅开放这两个值
enable_textureboolean是否生成颜色纹理;EasyAI 调用 Trip3D 时默认 true
enable_pbrboolean是否生成 PBR 材质;EasyAI 调用 Trip3D 时默认 false。设为 true 时上游会同时启用颜色纹理
topologytriangle | quad输出拓扑类型。quad 会启用四边面输出并强制上游输出 FBX;P1 不支持四边面
seedinteger几何生成随机种子,对应 Trip3D model_seed;相同模型与参数使用相同种子可提高几何结果的一致性

本例对应 Trip3D H 系列,还可按上方支持关系传 face_limittexture_seedauto_sizegenerate_partssmart_low_polyexport_uvgenerate_parts=true 与纹理、PBR、四边面互斥。更换 model 时必须重新按目标模型能力筛选字段,不能只替换模型名。

2. 图生 3D

方法 POST

路径 /v1/mesh3d/generate/image

{
  "model": "Trip3D-P1",
  "file": {
    "url": "https://cdn.example.com/chair-front.png",
    "originalname": "chair-front.png",
    "mimetype": "image/png",
    "width": 1024,
    "height": 1024
  },
  "enable_texture": true,
  "enable_pbr": true,
  "texture_quality": "detailed",
  "enable_image_autofix": true
}

请求参数说明

字段类型必填含义与要求
modelstringEasyAI 模型别名。示例对应 Trip3D P1-20260311,适合低面数和结构化拓扑;只能提交 P1 官方支持的字段
fileobject输入图片对象;urlpathfile_tokenobject 至少提供一种来源
file.urlstring条件必填可直接下载的图片 URL。Trip3D 支持 JPEG/PNG,最大 20MB,建议分辨率大于 256×256
file.originalnamestring原始文件名,用于识别扩展名和记录文件信息
file.mimetypestringMIME 类型,建议与真实文件一致,例如 image/png
file.width / file.heightinteger图片宽高,单位为像素,用于提交前的模型能力校验
enable_textureboolean是否生成颜色纹理;EasyAI 调用 Trip3D 时默认 true
enable_pbrboolean是否生成 PBR 材质;示例显式开启。设为 true 时颜色纹理也会被启用
texture_qualitystandard | detailed纹理质量;detailed 生成更细致的高分辨率纹理
enable_image_autofixboolean是否先自动优化输入图以改善建模结果;Trip3D 默认 false

使用 Trip3D-P1 时还可传 face_limit48~20000)、seedtexture_seedauto_sizeexport_uvtexture_alignmentorientation;不要传 geometry_quality、四边面、smart_low_polygenerate_parts

3. 多视图生 3D

方法 POST

路径 /v1/mesh3d/generate/multiview

{
  "model": "Trip3D-v3.1",
  "view_images": [
    {
      "view_type": "front",
      "file": {
        "url": "https://cdn.example.com/robot-front.png",
        "mimetype": "image/png"
      }
    },
    {
      "view_type": "left",
      "file": {
        "url": "https://cdn.example.com/robot-left.png",
        "mimetype": "image/png"
      }
    },
    {
      "view_type": "back",
      "file": {
        "url": "https://cdn.example.com/robot-back.png",
        "mimetype": "image/png"
      }
    }
  ],
  "enable_texture": true,
  "enable_pbr": true,
  "geometry_quality": "detailed"
}

请求参数说明

字段类型必填含义与要求
modelstringEasyAI 模型别名;必须选择支持 multiview_to_model 的模型
view_imagesarrayobject带语义视角的图片列表。至少 2 张有效图片且必须包含 front,同一视角不能重复
view_images[].view_typestring图片视角,可选 frontleft_frontright_frontleftrightbacktopbottom;最终可选值以模型能力为准
view_images[].fileobject当前视角的图片对象;图片来源字段至少提供一个
view_images[].file.urlstring条件必填可直接下载的 JPEG/PNG URL,最大 20MB,建议分辨率大于 256×256
view_images[].file.mimetypestring图片 MIME 类型,例如 image/png
enable_textureboolean是否生成颜色纹理;EasyAI 调用 Trip3D 时默认 true
enable_pbrboolean是否生成 PBR 材质;设为 true 时颜色纹理也会启用
geometry_qualitystandard | detailed几何质量,仅 Trip3D v3.0 及以上生成模型支持;P1 不支持

各视图必须是同一主体,方向关系应一致。Trip3D 官方四视图语义为正面、主体左侧、背面、主体右侧(约 0°/90°/180°/270°);“左侧”以图中主体自身的左侧为准。

旧版固定槽位写法仍兼容,但不建议新接入使用:

{
  "model": "Trip3D-v3.1",
  "files": [
    { "url": "https://cdn.example.com/front.png" },
    { "url": "https://cdn.example.com/left.png" },
    null,
    { "url": "https://cdn.example.com/right.png" }
  ]
}
字段类型必填含义与要求
modelstring支持多视图生 3D 的 EasyAI 模型别名
filesarrayobject | null兼容旧协议的固定四槽位数组,顺序必须是 [front, left, back, right];正面不可省略,至少提供 2 张有效图片
files[].urlstring条件必填当前槽位的可下载图片 URL;缺少的非正面视角使用 null 占位,不能缩短数组改变顺序

编辑接口示例

4. 部件拆分

路径 POST /v1/mesh3d/edit/segmentation

{
  "history_id": "mesh3d_history_123",
  "model": "3D拆分/补全模型v1.0"
}

请求参数说明

字段类型必填含义与要求
history_idstring当前要拆分的 3D 历史记录 ID。EasyAI 会从历史记录解析 Trip3D 的 original_model_task_id
modelstring必须选择拆分模型别名 3D拆分/补全模型v1.0,其上游版本为 v1.0-20250506;不要传生成模型别名
model_version_segstring显式指定拆分算法版本;当前仅支持 v1.0-20250506,通常省略并由 model 解析

源历史必须来自 Trip3D 支持的文生、图生、多视图、纹理、精修、导入或智能重拓扑任务。拆分会按模型结构生成部件名称,供后续补全、重拓扑、纹理和转换操作使用。

5. 部件补全

路径 POST /v1/mesh3d/edit/completion

{
  "history_id": "mesh3d_history_123",
  "model": "3D拆分/补全模型v1.0",
  "part_names": ["left_arm", "right_arm"]
}

请求参数说明

字段类型必填含义与要求
history_idstring必须指向已成功完成部件拆分的历史记录
modelstring必须选择 3D拆分/补全模型v1.0,对应 Trip3D v1.0-20250506
part_namesarraystring要补全的部件名称列表,值来自拆分任务结果;EasyAI 请求 Schema 要求显式提供
model_version_segstring显式指定补全算法版本;当前仅支持 v1.0-20250506

Trip3D 上游只接受 mesh_segmentation 任务作为补全输入。不要传用户界面显示名称或自行编造部件名。

6. 智能重拓扑

路径 POST /v1/mesh3d/edit/smart-lowpoly

{
  "history_id": "mesh3d_history_123",
  "model": "3D重拓扑模型v2.0",
  "topology": "quad",
  "face_limit": 8000,
  "bake": true
}

请求参数说明

字段类型必填含义与要求
history_idstring当前要重拓扑的 3D 历史记录 ID
modelstring必须选择 3D重拓扑模型v2.0,对应 Trip3D P-v2.0-20251225;旧版 P-v1.0-20250506 已废弃
topologytriangle | quad目标拓扑;triangle 为三角面,quad 为四边面。若同时传 quad,以 topology 为准
face_limitinteger | auto目标面数;auto 或省略表示由 Trip3D 自适应。EasyAI 默认校验:三角面 1000~20000,四边面 500~10000
quadboolean旧版四边面开关,与 topology 二选一;新接入优先使用 topology
part_namesarraystring仅处理指定拆分部件;名称来自部件拆分结果
bakeboolean是否烘焙模型,Trip3D 默认 true
  • Tripo 可使用数值或 "auto"。默认校验范围为:三角面 1000~20000,四边面 500~10000;模型能力可进一步收紧范围。
  • 混元可使用 "high""medium""low"、数值或省略。数值会由后端映射到对应档位。

7. 纹理生成/编辑

路径 POST /v1/mesh3d/edit/texture

{
  "history_id": "mesh3d_history_123",
  "model": "3D纹理管线v2.5",
  "texture": true,
  "pbr": true,
  "texture_quality": "detailed",
  "texture_alignment": "geometry",
  "texture_seed": 42,
  "bake": true,
  "texture_prompt": {
    "text": "旧化黄铜材质,细微划痕,写实 PBR",
    "style_image": {
      "url": "https://cdn.example.com/brass-style.jpg",
      "mimetype": "image/jpeg"
    }
  }
}

请求参数说明

字段类型必填含义与要求
history_idstring当前要生成或编辑纹理的 3D 历史记录 ID
modelstring纹理模型别名。示例 3D纹理管线v2.5 对应 Trip3D v2.5-20250123;不要使用拆分或绑定算法别名
texture / enable_textureboolean是否生成或重绘颜色纹理,两个字段语义相同,优先使用 texture;Trip3D 默认 true
pbr / enable_pbrboolean是否生成 PBR 材质,两个字段语义相同,优先使用 pbr;Trip3D 默认 true
texture_qualitystandard | detailed纹理质量,默认 standard。当前 EasyAI 接口仅开放这两个值;detailed 会生成更高分辨率纹理
texture_alignmentoriginal_image | geometry纹理对齐策略。original_image 优先还原参考图外观;geometry 优先贴合 3D 几何结构
texture_seedinteger纹理随机种子;相同模型、提示和种子可提高纹理结果的一致性
part_namesarraystring只处理指定拆分部件;省略时处理拆分得到的全部部件
compressgeometry使用几何压缩;通常需要在 3D 编辑软件中解压后再编辑
bakeboolean是否将高级材质效果烘焙进基础纹理,Trip3D 默认 true
texture_promptobject纹理提示对象。可使用 text、单张 image 或多视图 view_images/旧版 images;三类输入互斥
texture_prompt.textstring纹理文字描述,与 imageview_images/images 互斥
texture_prompt.imageobject单张纹理参考图,分辨率需在 20~6000 像素之间,建议大于 256 像素
texture_prompt.style_imageobject风格参考图,可与主要纹理提示一起使用;JPEG/PNG 最大 20MB,建议分辨率大于 256 像素
texture_prompt.view_imagesarrayobject新版多视图纹理参考图,至少 2 张且必须包含正面;同一视角不能重复

源历史应来自文生、图生、多视图、纹理或导入任务,Trip3D 1.x 生成任务不支持纹理编辑。texture_quality=standard 时不能同时把 texturepbr 设为 falsedetailed + texture=false + pbr=false 的 4K 放大模式仅适用于 Trip3D v3.0 纹理模型。

texture_qualitystandard 时,不能同时关闭 texture/enable_texturepbr/enable_pbrtexture_prompt.view_images 与多视图生成使用相同的语义视角规则。

8. 格式转换

路径 POST /v1/mesh3d/edit/convert

{
  "history_id": "mesh3d_history_123",
  "model": "Trip3D-v3.1",
  "format": "FBX",
  "topology": "triangle",
  "texture_size": 2048,
  "texture_format": "PNG",
  "pivot_to_center_bottom": true,
  "with_animation": true,
  "pack_uv": true,
  "bake": true
}

请求参数说明

字段类型必填含义与要求
history_idstring当前要转换的 3D 历史记录 ID;可来自生成、纹理、精修、导入、绑定、动画或上一次转换任务
modelstring用于路由和计费的 EasyAI 模型别名,必须在模型清单中声明 convert 能力
formatstring目标格式。Trip3D 支持 GLTFUSDZFBXOBJSTL3MF;建议使用大写值。OBJSTL3MF 不支持已绑定模型
topologytriangle | quad是否进行四边面重拓扑;quad 对应 Trip3D quad=trueGLTFSTL 最终仍以三角面存储
quadboolean旧版四边面开关;与 topology 二选一,优先使用 topology
force_symmetryboolean强制四边面重拓扑对称,仅在四边面模式下生效
face_limitinteger输出面数上限,Trip3D 默认 10000;四边面模式按多边形计数,否则按三角面计数
flatten_bottomboolean是否将模型底部压平
flatten_bottom_thresholdnumber底部压平深度,仅 flatten_bottom=true 时生效,Trip3D 默认 0.01
texture_sizeinteger漫反射纹理尺寸,单位像素;Trip3D v2.0 及以上模型默认 4096,其他模型默认 2048,传入值不应超过对应默认值
texture_formatstring纹理格式,支持 BMPDPXHDRJPEGOPEN_EXRPNGTARGATIFFWEBP;FBX 默认 PNG,其他格式默认 JPEG
pivot_to_center_bottomboolean是否把模型轴心移动到底部中心,默认 false
scale_factornumber模型缩放倍数,默认 1
with_animationboolean是否携带骨骼绑定和动画结构,默认 true;开启四边面重拓扑时骨骼数据仍会被移除
pack_uvboolean是否把多个部件的 UV 岛合并到一个布局并导出单张纹理,默认 false
bakeboolean是否将法线、环境光遮蔽等高级材质效果烘焙到基础纹理,默认 true
part_namesarraystring仅转换指定拆分部件
animate_in_placeboolean是否让动画原地播放,默认 false
export_vertex_colorsboolean是否导出顶点色,仅 OBJGLTF 支持,默认 false
export_orientation+x | -x | +y | -y模型导出朝向,默认 +x
fbx_presetblender | 3dsmax | mixamoFBX 兼容性预设,默认 blender,当前为实验参数

如果对已经转换过的 Trip3D 任务再次转换,上游只支持修改 format。选择 STL 时不会保留纹理;实际可选值仍受所选模型能力限制。

9. 可绑定检查

路径 POST /v1/mesh3d/edit/check-riggable

{
  "history_id": "mesh3d_history_123",
  "model": "3D绑定算法v2.5"
}

请求参数说明

字段类型必填含义与要求
history_idstring要检查的 3D 历史记录 ID;EasyAI 会解析为 Trip3D 上一任务 ID
modelstring必须选择绑定算法模型别名,推荐 3D绑定算法v2.5;不要传 Trip3D v3.x 生成模型别名

检查结果会返回是否可绑定以及建议的 rig_type。为提高成功率,角色应具有清晰四肢、较简单的服装和合理的身体连接;建议先检查,再将返回的骨骼类型用于绑定。

10. 骨骼绑定

路径 POST /v1/mesh3d/edit/rig

{
  "history_id": "mesh3d_history_123",
  "model": "3D绑定算法v2.5",
  "out_format": "glb",
  "rig_type": "biped",
  "spec": "tripo",
  "rigging_model_version": "v2.5-20260210"
}

请求参数说明

字段类型必填含义与要求
history_idstring要执行骨骼绑定的 3D 历史记录 ID
modelstring绑定算法模型别名,用于平台路由、并发和计费;推荐 3D绑定算法v2.5
out_formatglb | fbx输出格式,Trip3D 默认 glb
rig_typestring骨骼类型:bipedquadrupedhexapodoctopodavianserpentineaquatic;默认 biped,建议使用可绑定检查结果
spectripo | mixamo绑定规范,Trip3D 默认 tripo。后续需要动画重定向时必须使用 tripo
rigging_model_versionstringTrip3D 绑定算法版本,与 model 别名分离;推荐 v2.5-20260210v2.0-20250506 已废弃,v1.0-20240301 仅建议用于双足角色

rigging_model_version 是绑定算法版本,与 model 别名分离;省略时由后端根据 model 解析。

11. 动画重定向

路径 POST /v1/mesh3d/edit/retarget-animation

单个动画:

{
  "history_id": "rig_history_123",
  "model": "3D绑定算法v2.5",
  "animation": "preset:walk",
  "out_format": "glb",
  "bake_animation": true,
  "export_with_geometry": true,
  "animate_in_place": false
}

批量动画:

{
  "history_id": "rig_history_123",
  "animations": ["preset:idle", "preset:walk"],
  "out_format": "fbx"
}

请求参数说明

字段类型必填含义与要求
history_idstring必须指向成功的 Trip3D 骨骼绑定历史;绑定时需使用 spec=tripo
modelstring绑定算法模型别名;省略时 EasyAI 从绑定历史推断,用于选择平台实例和计费,不会作为上游 model_version 提交
animationstring条件必填单个预设动画 ID,与 animations 二选一。v2.5 可用值包括 preset:idlepreset:walkpreset:run
animationsarraystring条件必填批量预设动画 ID,与 animation 二选一;至少 1 项,最多 5 项
out_formatglb | fbx输出格式,Trip3D 默认 glb
bake_animationboolean是否把动画烘焙进输出,默认 true;仅对 GLB 输出生效
export_with_geometryboolean是否在输出中包含几何体,默认 true
animate_in_placeboolean是否让动画原地播放,默认 false

动画预设与绑定算法版本、骨骼类型有关,必须使用 Trip3D 官方列出的完整预设 ID;animationanimations 至少传一个,批量最多 5 项。

12. 模型精修

路径 POST /v1/mesh3d/edit/refine

{
  "history_id": "legacy_draft_history_123",
  "model": "Trip3D-v3.1",
  "draft_model_task_id": "legacy_upstream_draft_task_123"
}

请求参数说明

字段类型必填含义与要求
history_idstring当前草稿模型的 EasyAI 历史记录 ID
modelstring用于路由和计费的 EasyAI 模型别名,必须在模型清单中声明 refine 能力;它不改变草稿任务自身的 Trip3D 版本
draft_model_task_idstringTrip3D 草稿任务 ID;省略时 EasyAI 尝试从 history_id 解析。上游只接受文生、图生或多视图生 3D 的草稿任务

13. 模型风格化

路径 POST /v1/mesh3d/edit/stylize

{
  "history_id": "mesh3d_history_123",
  "model": "Trip3D-v3.1",
  "style": "minecraft",
  "block_size": 80
}

请求参数说明

字段类型必填含义与要求
history_idstring当前要风格化的 3D 历史记录 ID
modelstring用于路由和计费的 EasyAI 模型别名,必须在模型清单中声明 stylize 能力
stylelego | voxel | voronoi | minecraft风格类型:乐高积木、体素、Voronoi 效果或 Minecraft .schem 输出
block_sizeinteger网格块大小,范围 32~128、默认 80;仅 style=minecraft 时生效

源历史可来自 Trip3D 文生、图生、多视图、纹理、精修、导入、骨骼绑定或动画重定向任务。

styleblock_size 的最终可用值仍由所选模型能力决定。

提交响应与结果查询

生成接口响应:

{
  "material_id": "material_123",
  "task_id": "draw_task_123",
  "mesh3d_history_id": "mesh3d_history_123"
}

编辑接口响应:

{
  "material_id": "material_123",
  "task_id": "draw_task_456",
  "history_id": "mesh3d_history_456"
}
  • material_id:3D 素材 ID。
  • task_id:统一异步任务 ID,用于 查询异步任务结果 或关联 WebSocket 进度。
  • mesh3d_history_id / history_id:本次操作创建的 3D 历史记录 ID,下一次编辑时传给请求体的 history_id

最终成功结果中的 3D 文件通常位于任务结果的 output_contentoutput,常见角色包括 modelbase_modelpbr_modelpreview。调用方应按角色优先读取,不要只依赖数组位置。

常见错误

场景原因与处理
当前模型不支持某操作重新获取模型列表,选择声明了对应 mesh_edit 能力的模型
多视图缺少 front至少提交正面图和另一张有效视图
视角或图片数量不支持按所选模型的多视图能力调整 view_images
生成接口的 face_limit 超出范围按模型、拓扑和质量能力调整整数面数;不需要指定时删除该字段,不要传 0"auto"
编辑接口的 face_limit 超出范围智能重拓扑按目标模型使用合法数值;仅在该编辑模型明确支持时使用 "auto""high""medium""low"
找不到历史版本确认 history_id 属于当前用户,并来自成功创建的 3D 素材
绑定模型版本无效使用绑定算法模型,不要传文生/图生 3D 的生成模型版本
动画参数为空animationanimations 至少提供一个非空预设 ID