# Rigging automático
> **POST** `/v3/animations/rig`
Adicione automaticamente um esqueleto a um modelo 3D.
## Parâmetros de solicitação
### Solicitar cabeçalhos
| Parâmetro | Tipo | Obrigatório | Padrão | Descrição |
| :-: | :-: | :-: | :-: | :-: |
| Content-Type | cadeia | Sim | - | `application/json` |
| Authorization | cadeia | Sim | - | `Bearer {api_key}` |
### Corpo da Solicitação
| Parâmetro | Tipo | Obrigatório | Padrão | Descrição |
| :-: | :-: | :-: | :-: | :-: |
| input | cadeia | Sim | - | Fonte do modelo. Aceita um task_id começando com `task_` ou um file_token começando com `file_` |
| model | cadeia | Não | `v1.0-20240301` | Versão do modelo de rigging automático. Valores possíveis: `v1.0-20240301` (somente bípedes), `v2.5-20260210` (não humanoides; bípedes são suportados, mas não recomendados), `v3.0-20260909` (recomendado para humanoides; defina explicitamente; mesmas predefinições de animação da v2.5) |
| rig_type | cadeia | Não | `biped` | Tipo de plataforma. Recomendamos ligar primeiro para `rig-check` para obter o valor recomendado. Valores possíveis: `biped`, `quadruped`, `hexapod`, `octopod`, `avian`, `serpentine`, `aquatic`, `others` |
| spec | cadeia | Não | `tripo` | Especificação de rigging. Só tem efeito quando `rig_type` é `biped`. Valores possíveis: `tripo`, `mixamo`, `actorcore`, `unity`, `unreal`, `vrm` |
| out_format | cadeia | Não | `glb` | Formato de saída. Valores possíveis: `glb`, `fbx` |
## Exemplos de solicitação
### curl
```bash
curl -X POST https://openapi.tripo3d.ai/v3/animations/rig \
-H "Content-Type: application/json" \
-H "Authorization: Bearer {api_key}" \
-d '{
"input": "task_abc123",
"model": "v3.0-20260909",
"rig_type": "biped",
"spec": "mixamo",
"out_format": "glb"
}'
```
### Python
```python
import requests
url = "https://openapi.tripo3d.ai/v3/animations/rig"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer {api_key}"
}
payload = {
"input": "task_abc123",
"model": "v3.0-20260909",
"rig_type": "biped",
"spec": "mixamo",
"out_format": "glb"
}
response = requests.post(url, headers=headers, json=payload)
print(response.json())
```
### JavaScript
```javascript
const url = "https://openapi.tripo3d.ai/v3/animations/rig";
const response = await fetch(url, {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer {api_key}"
},
body: JSON.stringify({
input: "task_abc123",
model: "v3.0-20260909",
rig_type: "biped",
spec: "mixamo",
out_format: "glb"
})
});
const data = await response.json();
console.log(data);
```
## Resposta
### Resposta bem sucedida
```json
{
"code": 0,
"data": {
"task_id": "task_def456"
}
}
```
### Campos de resposta
| Parâmetro | Tipo | Descrição |
| :-: | :-: | :-: |
| code | inteiro | Código de status. `0` indica sucesso |
| data.task_id | cadeia | Identificador de tarefa exclusivo usado para pesquisar o progresso e o resultado do rigging automático |
## Códigos de erro
| Código de status HTTP | Código de erro | Descrição | Recomendação |
| :-: | :-: | :-: | :-: |
| 429 | 2000 | Limite de geração excedido | Reduza a taxa de solicitação e tente novamente mais tarde |
| 400 | 2002 | Parâmetro de solicitação não compatível | Verifique os nomes dos parâmetros do corpo da solicitação e os intervalos de valores |
| 400 | 2006 | Tipo de tarefa de origem de entrada inválido | Confirme se task_id corresponde a uma tarefa de modelo 3D |
| 400 | 2007 | O status da tarefa de origem não foi bem-sucedido | Aguarde até que a tarefa de origem seja concluída antes de iniciar o rigging automático |
| 403 | 2010 | Créditos insuficientes | Recarregue os créditos e tente novamente |
Rigging automático
POST /v3/animations/rig
Adicione automaticamente um esqueleto a um modelo 3D.
Parâmetros de solicitação
Solicitar cabeçalhos
| Parâmetro |
Tipo |
Obrigatório |
Padrão |
Descrição |
| Content-Type |
cadeia |
Sim |
- |
application/json |
| Authorization |
cadeia |
Sim |
- |
Bearer {api_key} |
Corpo da Solicitação
| Parâmetro |
Tipo |
Obrigatório |
Padrão |
Descrição |
| input |
cadeia |
Sim |
- |
Fonte do modelo. Aceita um task_id começando com task_ ou um file_token começando com file_ |
| model |
cadeia |
Não |
v1.0-20240301 |
Versão do modelo de rigging automático. Valores possíveis: v1.0-20240301 (somente bípedes), v2.5-20260210 (não humanoides; bípedes são suportados, mas não recomendados), v3.0-20260909 (recomendado para humanoides; defina explicitamente; mesmas predefinições de animação da v2.5) |
| rig_type |
cadeia |
Não |
biped |
Tipo de plataforma. Recomendamos ligar primeiro para rig-check para obter o valor recomendado. Valores possíveis: biped, quadruped, hexapod, octopod, avian, serpentine, aquatic, others |
| spec |
cadeia |
Não |
tripo |
Especificação de rigging. Só tem efeito quando rig_type é biped. Valores possíveis: tripo, mixamo, actorcore, unity, unreal, vrm |
| out_format |
cadeia |
Não |
glb |
Formato de saída. Valores possíveis: glb, fbx |
Exemplos de solicitação
curl -X POST https://openapi.tripo3d.ai/v3/animations/rig \
-H "Content-Type: application/json" \
-H "Authorization: Bearer {api_key}" \
-d '{
"input": "task_abc123",
"model": "v3.0-20260909",
"rig_type": "biped",
"spec": "mixamo",
"out_format": "glb"
}'
import requests
url = "https://openapi.tripo3d.ai/v3/animations/rig"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer {api_key}"
}
payload = {
"input": "task_abc123",
"model": "v3.0-20260909",
"rig_type": "biped",
"spec": "mixamo",
"out_format": "glb"
}
response = requests.post(url, headers=headers, json=payload)
print(response.json())
const url = "https://openapi.tripo3d.ai/v3/animations/rig";
const response = await fetch(url, {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer {api_key}"
},
body: JSON.stringify({
input: "task_abc123",
model: "v3.0-20260909",
rig_type: "biped",
spec: "mixamo",
out_format: "glb"
})
});
const data = await response.json();
console.log(data);
Resposta
Resposta bem sucedida
{
"code": 0,
"data": {
"task_id": "task_def456"
}
}
Campos de resposta
| Parâmetro |
Tipo |
Descrição |
| code |
inteiro |
Código de status. 0 indica sucesso |
| data.task_id |
cadeia |
Identificador de tarefa exclusivo usado para pesquisar o progresso e o resultado do rigging automático |
Códigos de erro
| Código de status HTTP |
Código de erro |
Descrição |
Recomendação |
| 429 |
2000 |
Limite de geração excedido |
Reduza a taxa de solicitação e tente novamente mais tarde |
| 400 |
2002 |
Parâmetro de solicitação não compatível |
Verifique os nomes dos parâmetros do corpo da solicitação e os intervalos de valores |
| 400 |
2006 |
Tipo de tarefa de origem de entrada inválido |
Confirme se task_id corresponde a uma tarefa de modelo 3D |
| 400 |
2007 |
O status da tarefa de origem não foi bem-sucedido |
Aguarde até que a tarefa de origem seja concluída antes de iniciar o rigging automático |
| 403 |
2010 |
Créditos insuficientes |
Recarregue os créditos e tente novamente |