Skip to content

Create Task API

API Overview

Used to submit a 3D model split task and return a task ID.

ProtocolEndpointMethodAuthRequest FormatResponse Format
HTTP/open-api/v1/split/create-taskPOSTTokenmultipart/form-dataapplication/json

Request Headers

ParameterValueDescription
Content-Typemultipart/form-dataData exchange format
AuthorizationTokenReplace {token} with the token you obtained

Request Body (HTTP Form Submission)

ParameterTypeRequiredDescription
meshfileYes, either with mesh_urlInput model file for splitting.
• Format: glb, stl, obj
• Size: up to 200 MB
• Count: 1 file
mesh_urlstringYes, either with meshInput model URL for splitting.
• Format: glb, stl, obj
• Size: up to 200 MB
• Count: 1 URL
modelstringNoSplit model type. Default is character.
Enum values:
character: character split with template and joint options
general: general model split
partstringRequired when model is characterCharacter split template. Default is a.
Enum values:
a: 6 parts
b: 5 parts
c: 4 parts, excluding head
d: 4 parts, including head
e: 3 parts
f: 2 parts
jointstringRequired when model is characterCharacter joint type. Default is ball.
Enum values:
none
ball
dovetail
levelstringRequired when model is generalGeneral split granularity. Default is medium.
Enum values:
low
medium
high
formatintNoOutput model format. Default is 1. Character split currently supports 2 (glb) only.
Enum values:
1: obj
2: glb
3: stl
4: fbx
5: usdz
callback_urlstringNoCallback endpoint for task status updates. Callback uses POST and follows the same response structure as query-task. States include success and failed.

Response Body

ParameterFieldTypeDescription
code-intError code, see error code table
datatask_idstringAsynchronous task ID used to query task status and result
statestringInitial task state. The create-task API returns queueing after successful submission
msg-stringDetailed error message
json
{
  "code": 200,
  "data": {
    "task_id": "split_20260312_8f92ab3e1cde",
    "state": "queueing"
  },
  "msg": "success"
}

Error Codes

Error codes are returned in JSON structure, including code and msg.

json
{
  "code": 5001001,
  "data": {},
  "msg": "generate failed"
}
Error CodeError MessageError Description
200-Task created successfully
5001001generate failedTimeout or model parsing failed. Retry later; credits are refunded

Request Example (Shell)

Character Split

shell
curl --location --request POST 'https://api.hitem3d.ai/open-api/v1/split/create-task' \
--header 'Authorization: Token {{token}}' \
--form 'mesh=@"/path/to/demo.glb"' \
--form 'model="character"' \
--form 'part="a"' \
--form 'joint="ball"' \
--form 'format="2"' \
--form 'callback_url="https://client.example.com/webhook/split"'

General Split

shell
curl --location --request POST 'https://api.hitem3d.ai/open-api/v1/split/create-task' \
--header 'Authorization: Token {{token}}' \
--form 'mesh_url="https://client.example.com/models/demo.glb"' \
--form 'model="general"' \
--form 'level="medium"' \
--form 'format="2"'