Skip to main content
POST
从图片创建角色
异步创建可复用的角色素材。请轮询角色,直到 statusready 后再将其 ID 用于渲染。 type 决定输出:render(默认)仅创建可用于渲染的 2D 角色,vsplat 仅创建 3D 高斯泼溅模型,all 同时创建两者并分别计费。vsplat 提取就绪后,通过导出 3D 角色获取下载链接。
计费(1 积分 = $0.01):type=render 固定 1 积分;type=vsplat 固定 25 积分,设置 enhance=true 时为 30 积分。增强仅影响 vsplat 提取,30 积分替代原有 25 积分,并非额外叠加。type=all 合计为 26 积分,增强时为 31 积分。详见计费与保留期限

请求参数

使用 multipart/form-data imageimage_url 必须二选一。以下参数仅适用于 type=vsplatall
joint_set 骨架: full 保留全部 441 个关节,包含完整面部骨架,支持表情动画;expression 保留 119 个身体及表情关节;body 仅保留 86 个身体关节,移除全部面部关节,不能播放面部动画。减少关节只改变关节列表与蒙皮矩阵 W 的列,不改变高斯点数量;因此 body 仍保留完整面部细节,只是无法让面部运动。省略时,V1 会填入 body(提取服务内部默认虽为 full,但 V1 会先填入 body)。驱动该角色的动作应使用相同的 joint_set这与动作导出的 download_type=metahuman 骨架兼容,关节一一对应,配合使用无需重定向。见导出 3D 动作download_type=mixamo 则是通用的 50 关节骨架,用于驱动自己的角色网格时仍需重定向。
本页列出了完整的公开请求参数。工作流存储路径、输出 URI、多视图与蒙皮配置、缩略图渲染细节由服务选择或生成。

响应参数

返回 200 OK 和 Character 对象。

示例

提取 3D vsplat 时添加 -F "type=vsplat";若同时保留渲染能力,使用 all
cURL
AI 增强需在 type=vsplattype=all 下添加 -F "enhance=true"。单独使用 enhance 不生效;vsplat 费用变为固定 30 积分,而非 25:
cURL
joint_set 默认为 body。保留表情关节时添加 -F "joint_set=expression",保留全部 441 个关节时使用 full。驱动动作也应使用相同的 joint_set
cURL

下一步

使用获取角色轮询返回的 ID,等待就绪。若请求了 vsplat,再通过导出 3D 角色下载。

授权

Authorization
string
header
必填

服务端 SDK 使用项目 API 密钥,Remote MCP 使用 OAuth 访问令牌。不要在浏览器代码中暴露项目密钥。

请求头

X-Request-Id
string

可选的调用者自定义关联 ID,最长 128 字符。服务会在响应头返回实际使用的值,便于追踪和支持排查。

Required string length: 1 - 128
X-Viggle-Source
string

可选来源标签,最长 128 字符,用于识别 SDK、集成、产品入口或内部工作流。

Required string length: 1 - 128

请求体

multipart/form-data

image 与 image_url 必须二选一。type 选择输出,详见创建角色。其后的提取参数仅适用于 vsplat 或 all。工作流路径、输出 URI、多视图、缩略图相机及姿势、渲染来源和静止模式均由服务管理。

image
file

直接上传的角色源图片,支持 PNG、JPEG、WebP。与 image_url 二选一。

image_url
string<uri>

可公开访问的图片 HTTP(S) URL。替代 image,并在开始接收素材时保持可访问。

name
string
默认值:""

详情和列表中显示的名称,便于识别角色,不影响生成。

type
enum<string>
默认值:render

render 创建 2D 角色(1 积分),vsplat 创建 3D 模型(25 积分,增强时 30),all 同时创建(26 或 31 积分)。

可用选项:
render,
vsplat,
all
enhance
boolean
默认值:false

是否对 vsplat 提取执行额外的 AI 增强。仅 vsplat/all 生效;render 下不生效、不收费。将 vsplat 费用由 25 改为 30 积分。

joint_set
enum<string>
默认值:body

vsplat 绑定的骨架:fullexpressionbody,不影响价格。

可用选项:
expression,
body,
full
model_precision
number

模型提取精度,范围 (0, 1]。在编码之前的 PKL 提取阶段生效。

必填范围: 0 < x <= 1
filter_low_quality
boolean
默认值:false

编码前剔除低重要性高斯点的总开关。为 true 时移除低于提取服务质量阈值的点。

render_thumbnail
boolean
默认值:false

是否在提取时生成标准角色预览缩略图。渲染来源和姿势由服务内部选择。

task_id
string

type=vsplat 的调用者自定义幂等 ID。同一任务重试使用稳定且唯一的值;type=all 的配套提取使用新建角色 ID 作为键。

Minimum string length: 1

响应

请求成功。

角色和动作共用的资源结构。列表中的 progress 为 null,顶层 error 当前始终为 null,失败请检查 status。角色 type 为 render、vsplat、all,动作为 render、glb、all,旧资源默认报告 render。vsplat/glb 仅包含提取状态,下载链接通过角色或动作的 /export 获取。未请求提取时对应字段为 null。all 需等 2D 与 3D 均就绪才为 ready;任一失败则顶层 failed,子对象状态可用于定位。

id
string
必填

素材公开 ID。角色通常以 char_ 开头,动作通常以 mot_ 开头。

Minimum string length: 1
status
enum<string>
必填

素材整体生命周期。所需能力就绪后才能用于渲染或导出。

可用选项:
queued,
processing,
ready,
failed,
cancelled
name
string
必填

创建时提供或导入时生成的显示名称;不支持名称的流程可能返回空字符串。

progress
integer | null
必填

详情中尽可能提供 0–100 的处理百分比,列表中或不可用时为 null。

必填范围: 0 <= x <= 100
capabilities
string[]
必填

素材具备的能力。就绪且可渲染时包含 video_render。

created_at
string | null
必填

带 UTC 偏移的 ISO 8601 时间,例如 2026-07-31T09:15:22+00:00。

completed_at
string | null
必填

所有请求处理进入终态时的 ISO 8601 时间,带 UTC 偏移;处理中为 null。

error
object | null
必填

保留的顶层错误详情,目前始终为 null。通过 status 判断失败,并在适用时检查提取子对象。

type
enum<string>
默认值:render
必填

创建时请求的输出。render 为可渲染的 2D 素材,vsplat/glb 为 3D 输出,all 同时请求两种支持的输出。

可用选项:
render,
vsplat,
glb,
all
vsplat
object | null
必填

角色 vsplat 提取状态。动作及 type=render 的角色为 null。这里只返回状态,不回显 model_precision 等创建参数。

glb
object | null
必填

动作 3D 动画提取或生成状态。角色及 type=render 的动作为 null。