Gere modelos 3D a partir de texto ou imagens usando Tripo3D e outros provedores. Esta é uma API assíncrona. A resposta de criação retorna uma identidade de tarefa e, quando disponível, também pode incluir um poll_url preferido.
As operações públicas de 3D são inferidas pelo formato da requisição: requisições somente com prompt resolvem para text-to-3d, e requisições com image ou image_url resolvem para image-to-3d. Este endpoint não expõe um campo de requisição operation; não envie o valor legacy 3d-generation.
Corpo da Requisição
model
string
padrão: "tripo-h3.1"
Modelo a usar, por exemplo tripo-h3.1 ou tripo-p1.0. Consulte GET /v1/models?recommended_for=3d antes de depender de um tipo de entrada ou formato de saida especifico.
Descrição em texto do modelo 3D a ser gerado.
Imagem codificada em Base64 para geração de imagem para 3D.
URL da imagem para geração de imagem para 3D.
Formato de saída: glb, fbx, obj ou usdz.
Nível de qualidade: draft, standard ou high.
Predefinição de estilo para o modelo.
Seed para geração reproduzível.
Um identificador exclusivo para o usuário final.
Resposta
ID da tarefa para consulta de status (polling).
Alias do identificador da tarefa assíncrona quando retornado pelo adaptador.
URL de polling prioritária quando disponível.
Status da tarefa: pending, processing, completed ou failed.
Timestamp Unix da criação da tarefa.
cURL
Python
JavaScript
Go
PHP
curl -X POST "https://api.tokenlab.sh/v1/3d/generations" \
-H "Authorization: Bearer sk-your-api-key" \
-H "Content-Type: application/json" \
-d '{
"model": "tripo-h3.1",
"prompt": "A detailed medieval castle with towers",
"format": "glb",
"quality": "high"
}'
import requests
response = requests.post(
"https://api.tokenlab.sh/v1/3d/generations" ,
headers = { "Authorization" : "Bearer sk-your-api-key" },
json = {
"model" : "tripo-h3.1" ,
"prompt" : "A detailed medieval castle with towers" ,
"format" : "glb" ,
"quality" : "high"
}
)
task_id = response.json()[ "id" ]
print ( f "Task ID: { task_id } " )
const response = await fetch ( 'https://api.tokenlab.sh/v1/3d/generations' , {
method: 'POST' ,
headers: {
'Authorization' : 'Bearer sk-your-api-key' ,
'Content-Type' : 'application/json'
},
body: JSON . stringify ({
model: 'tripo-h3.1' ,
prompt: 'A detailed medieval castle with towers' ,
format: 'glb' ,
quality: 'high'
})
});
const data = await response . json ();
console . log ( `Task ID: ${ data . id } ` );
package main
import (
" bytes "
" encoding/json "
" fmt "
" net/http "
)
func main () {
payload := map [ string ] interface {}{
"model" : "tripo-h3.1" ,
"prompt" : "A detailed medieval castle with towers" ,
"format" : "glb" ,
"quality" : "high" ,
}
body , _ := json . Marshal ( payload )
req , _ := http . NewRequest ( "POST" , "https://api.tokenlab.sh/v1/3d/generations" , bytes . NewBuffer ( body ))
req . Header . Set ( "Authorization" , "Bearer sk-your-api-key" )
req . Header . Set ( "Content-Type" , "application/json" )
client := & http . Client {}
resp , _ := client . Do ( req )
defer resp . Body . Close ()
var result map [ string ] interface {}
json . NewDecoder ( resp . Body ). Decode ( & result )
fmt . Printf ( "Task ID: %s \n " , result [ "id" ])
}
<? php
$ch = curl_init ( 'https://api.tokenlab.sh/v1/3d/generations' );
curl_setopt_array ( $ch , [
CURLOPT_RETURNTRANSFER => true ,
CURLOPT_POST => true ,
CURLOPT_HTTPHEADER => [
'Content-Type: application/json' ,
'Authorization: Bearer sk-your-api-key'
],
CURLOPT_POSTFIELDS => json_encode ([
'model' => 'tripo-h3.1' ,
'prompt' => 'A detailed medieval castle with towers' ,
'format' => 'glb' ,
'quality' => 'high'
])
]);
$response = curl_exec ( $ch );
curl_close ( $ch );
$data = json_decode ( $response , true );
echo "Task ID: " . $data [ 'id' ];
{
"id" : "ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" ,
"status" : "pending" ,
"created" : 1706000000 ,
"model" : "tripo-h3.1"
}