# Texto para modelo 3D
> **POST** `/v3/generation/text-to-model`
Gere um modelo 3D a partir de um prompt de texto.
## 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}` |
| Parâmetro | Tipo | Obrigatório | Padrão | Descrição |
| :-: | :-: | :-: | :-: | :-: |
| prompt | cadeia | Sim | - | Prompt de texto, até 1024 caracteres |
| model | cadeia | Não | `tripo-v3.1` | Versão do modelo AI. Valores suportados: `tripo-p1`, `tripo-turbo`, `tripo-v3.1`, `tripo-v3.0`, `tripo-v2.5`, `tripo-v2.0` |
| negative_prompt | cadeia | Não | - | Prompt negativo, até 255 caracteres |
| model_seed | inteiro | Não | Aleatório | Semente aleatória para geração de geometria |
| image_seed | inteiro | Não | Aleatório | Semente aleatória para o estágio de texto para imagem |
| face_limit | inteiro | Não | Adaptativo | Polycount máximo para a saída |
| texture | booleano | Não | `true` | Habilitar mapas de textura |
| pbr | booleano | Não | `true` | Habilite materiais PBR. Quando ativado, `texture` é forçado a `true` |
| texture_seed | inteiro | Não | Aleatório | Semente aleatória para geração de textura |
| texture_quality | cadeia | Não | `standard` | Qualidade de textura. Valores suportados: `fast` (requer `texture_version=v3.5-20260815`), `standard`, `detailed`, `extreme` |
| texture_version | cadeia | Não | Derivado de model | Fixa o modelo de textura independentemente da geometria. Valores suportados: `v3.5-20260815`, `v3.0-20250812`, `v2.5-20250123`. Se omitido, é derivado do `model` de geometria (geometria v2.5 → `v2.5-20250123`; caso contrário, `v3.0-20250812`) |
| delight | booleano | Não | `true` | Remove a iluminação incorporada da imagem de referência antes da texturização. Considerado apenas quando `texture_version=v3.5-20260815` |
| geometry_quality | cadeia | Não | `standard` | Qualidade geométrica. `standard` (balanceado), `detailed` (modo Ultra) |
| auto_size | booleano | Não | `false` | Dimensione automaticamente o modelo para dimensões do mundo real em metros |
| quad | booleano | Não | `false` | Produza uma malha quádrupla. Quando ativado, o formato de saída é forçado para FBX |
| smart_low_poly | booleano | Não | `false` | Gere um modelo low-poly com estilo de topologia artesanal |
| generate_parts | booleano | Não | `false` | Gere peças segmentadas editáveis. Não compatível com `texture`, `pbr`, `quad` ou `smart_low_poly` — veja a nota abaixo |
| compress | cadeia | Não | - | Tipo de compressão. `geometry` (compressão meshopt) |
| export_orientation | cadeia | Não | `+x` | Orientação para exportação. Valores disponíveis: `-x`, `-y`, `+y` |
**Notas sobre `generate_parts`:**
Não compatível com `texture`, `pbr`, `quad` ou `smart_low_poly`:
- `texture=true` ou `pbr=true` — incluindo a omissão de `texture`, que por padrão é `true` — a solicitação é rejeitada com o código de erro `1004`.
- `quad=true` — quad é ignorado; as peças retornadas são malhas triangulares.
- `smart_low_poly=true` — smart_low_poly tem precedência e as peças NÃO são produzidas.
Para gerar peças, defina `texture=false` e `pbr=false`, e não envie `quad` ou `smart_low_poly`.
**Notas sobre `export_orientation`:**
- Aplica-se apenas a esta geração. Se o modelo for usado em tarefas de pós-processamento (textura, rig, redirecionamento, conversão, ...), recomenda-se **não** definir este parâmetro.
- Quando definido, o pós-processamento pode afetar o resultado final devido a uma orientação incorreta do modelo, embora a tarefa continue relatando `status: success` — nenhum erro é gerado. Use com cautela.
- Se você planeja pós-processar o modelo, deixe este parâmetro sem definir e converta a orientação na última etapa via `/v3/models/convert`.
Os seguintes parâmetros são válidos apenas quando `model >= tripo-v3.0`: `texture_quality`, `geometry_quality`, `auto_size`, `quad`, `smart_low_poly`, `generate_parts`, `compress`.
## Exemplos de solicitação
### curl
```bash
curl -X POST https://openapi.tripo3d.ai/v3/generation/text-to-model \
-H "Content-Type: application/json" \
-H "Authorization: Bearer {api_key}" \
-d '{
"prompt": "A cat wearing a spacesuit",
"model": "tripo-v3.1",
"texture": true,
"pbr": true,
"texture_quality": "detailed"
}'
```
### Python
```python
import requests
url = "https://openapi.tripo3d.ai/v3/generation/text-to-model"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer {api_key}"
}
payload = {
"prompt": "A cat wearing a spacesuit",
"model": "tripo-v3.1",
"texture": True,
"pbr": True,
"texture_quality": "detailed"
}
response = requests.post(url, headers=headers, json=payload)
print(response.json())
```
### JavaScript
```javascript
const url = "https://openapi.tripo3d.ai/v3/generation/text-to-model";
const response = await fetch(url, {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer {api_key}"
},
body: JSON.stringify({
prompt: "A cat wearing a spacesuit",
model: "tripo-v3.1",
texture: true,
pbr: true,
texture_quality: "detailed"
})
});
const data = await response.json();
console.log(data);
```
## Resposta
### Resposta de sucesso
```json
{
"code": 0,
"data": {
"task_id": "task_abc123"
}
}
```
### 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 consultar o progresso e os resultados da geração |
## 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 frequência de solicitações 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 | 2008 | A entrada viola a política de conteúdo | Revise o prompt e remova as descrições que violam a política |
| 403 | 2010 | Créditos insuficientes | Adicione créditos e tente novamente |
| 400 | 2015 | Versão do modelo obsoleta | Atualize `model` para uma versão atualmente suportada |
| 400 | 2018 | O modelo é muito complexo para ser refeito | Reduza `face_limit` ou simplifique o prompt de entrada |
Texto para modelo 3D
POST /v3/generation/text-to-model
Gere um modelo 3D a partir de um prompt de texto.
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} |
| Parâmetro |
Tipo |
Obrigatório |
Padrão |
Descrição |
| prompt |
cadeia |
Sim |
- |
Prompt de texto, até 1024 caracteres |
| model |
cadeia |
Não |
tripo-v3.1 |
Versão do modelo AI. Valores suportados: tripo-p1, tripo-turbo, tripo-v3.1, tripo-v3.0, tripo-v2.5, tripo-v2.0 |
| negative_prompt |
cadeia |
Não |
- |
Prompt negativo, até 255 caracteres |
| model_seed |
inteiro |
Não |
Aleatório |
Semente aleatória para geração de geometria |
| image_seed |
inteiro |
Não |
Aleatório |
Semente aleatória para o estágio de texto para imagem |
| face_limit |
inteiro |
Não |
Adaptativo |
Polycount máximo para a saída |
| texture |
booleano |
Não |
true |
Habilitar mapas de textura |
| pbr |
booleano |
Não |
true |
Habilite materiais PBR. Quando ativado, texture é forçado a true |
| texture_seed |
inteiro |
Não |
Aleatório |
Semente aleatória para geração de textura |
| texture_quality |
cadeia |
Não |
standard |
Qualidade de textura. Valores suportados: fast (requer texture_version=v3.5-20260815), standard, detailed, extreme |
| texture_version |
cadeia |
Não |
Derivado de model |
Fixa o modelo de textura independentemente da geometria. Valores suportados: v3.5-20260815, v3.0-20250812, v2.5-20250123. Se omitido, é derivado do model de geometria (geometria v2.5 → v2.5-20250123; caso contrário, v3.0-20250812) |
| delight |
booleano |
Não |
true |
Remove a iluminação incorporada da imagem de referência antes da texturização. Considerado apenas quando texture_version=v3.5-20260815 |
| geometry_quality |
cadeia |
Não |
standard |
Qualidade geométrica. standard (balanceado), detailed (modo Ultra) |
| auto_size |
booleano |
Não |
false |
Dimensione automaticamente o modelo para dimensões do mundo real em metros |
| quad |
booleano |
Não |
false |
Produza uma malha quádrupla. Quando ativado, o formato de saída é forçado para FBX |
| smart_low_poly |
booleano |
Não |
false |
Gere um modelo low-poly com estilo de topologia artesanal |
| generate_parts |
booleano |
Não |
false |
Gere peças segmentadas editáveis. Não compatível com texture, pbr, quad ou smart_low_poly — veja a nota abaixo |
| compress |
cadeia |
Não |
- |
Tipo de compressão. geometry (compressão meshopt) |
| export_orientation |
cadeia |
Não |
+x |
Orientação para exportação. Valores disponíveis: -x, -y, +y |
Notas sobre generate_parts:
Não compatível com texture, pbr, quad ou smart_low_poly:
texture=true ou pbr=true — incluindo a omissão de texture, que por padrão é true — a solicitação é rejeitada com o código de erro 1004.
quad=true — quad é ignorado; as peças retornadas são malhas triangulares.
smart_low_poly=true — smart_low_poly tem precedência e as peças NÃO são produzidas.
Para gerar peças, defina texture=false e pbr=false, e não envie quad ou smart_low_poly.
Notas sobre export_orientation:
- Aplica-se apenas a esta geração. Se o modelo for usado em tarefas de pós-processamento (textura, rig, redirecionamento, conversão, …), recomenda-se não definir este parâmetro.
- Quando definido, o pós-processamento pode afetar o resultado final devido a uma orientação incorreta do modelo, embora a tarefa continue relatando
status: success — nenhum erro é gerado. Use com cautela.
- Se você planeja pós-processar o modelo, deixe este parâmetro sem definir e converta a orientação na última etapa via
/v3/models/convert.
Os seguintes parâmetros são válidos apenas quando model >= tripo-v3.0: texture_quality, geometry_quality, auto_size, quad, smart_low_poly, generate_parts, compress.
Exemplos de solicitação
curl -X POST https://openapi.tripo3d.ai/v3/generation/text-to-model \
-H "Content-Type: application/json" \
-H "Authorization: Bearer {api_key}" \
-d '{
"prompt": "A cat wearing a spacesuit",
"model": "tripo-v3.1",
"texture": true,
"pbr": true,
"texture_quality": "detailed"
}'
import requests
url = "https://openapi.tripo3d.ai/v3/generation/text-to-model"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer {api_key}"
}
payload = {
"prompt": "A cat wearing a spacesuit",
"model": "tripo-v3.1",
"texture": True,
"pbr": True,
"texture_quality": "detailed"
}
response = requests.post(url, headers=headers, json=payload)
print(response.json())
const url = "https://openapi.tripo3d.ai/v3/generation/text-to-model";
const response = await fetch(url, {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer {api_key}"
},
body: JSON.stringify({
prompt: "A cat wearing a spacesuit",
model: "tripo-v3.1",
texture: true,
pbr: true,
texture_quality: "detailed"
})
});
const data = await response.json();
console.log(data);
Resposta
Resposta de sucesso
{
"code": 0,
"data": {
"task_id": "task_abc123"
}
}
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 consultar o progresso e os resultados da geração |
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 frequência de solicitações 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 |
2008 |
A entrada viola a política de conteúdo |
Revise o prompt e remova as descrições que violam a política |
| 403 |
2010 |
Créditos insuficientes |
Adicione créditos e tente novamente |
| 400 |
2015 |
Versão do modelo obsoleta |
Atualize model para uma versão atualmente suportada |
| 400 |
2018 |
O modelo é muito complexo para ser refeito |
Reduza face_limit ou simplifique o prompt de entrada |