Genere modelos 3D a partir de texto o imágenes utilizando Tripo3D y otros proveedores. Esta es una API asíncrona. La respuesta de creación devuelve una identidad de tarea y, cuando está disponible, también puede incluir un poll_url preferido.
Las operaciones 3D públicas se infieren a partir de la forma de la solicitud: las solicitudes solo con prompt se resuelven como text-to-3d, y las solicitudes con image o image_url como image-to-3d. Este endpoint no expone un campo de solicitud operation; no envíes el valor legacy 3d-generation.
Cuerpo de la solicitud
model
string
predeterminado: "tripo-h3.1"
Modelo a usar, por ejemplo tripo-h3.1 o tripo-p1.0. Consulta GET /v1/models?recommended_for=3d antes de depender de un tipo de entrada o formato de salida especifico.
Descripción de texto del modelo 3D a generar.
Imagen codificada en Base64 para la generación de imagen a 3D.
URL de la imagen para la generación de imagen a 3D.
format
string
predeterminado: "glb"
Formato de salida: glb, fbx, obj o usdz.
quality
string
predeterminado: "standard"
Nivel de calidad: draft, standard o high.
Preajuste de estilo para el modelo.
Semilla para una generación reproducible.
Un identificador único para el usuario final.
Respuesta
ID de la tarea para consultar el estado.
Alias del identificador de tarea asíncrona cuando el adaptador lo devuelve.
URL de polling prioritaria cuando está disponible.
Estado de la tarea: pending, processing, completed o failed.
Marca de tiempo Unix de la creación de la tarea.
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" ,
"task_id" : "ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" ,
"poll_url" : "/v1/tasks/ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" ,
"status" : "pending" ,
"created" : 1706000000 ,
"model" : "tripo-h3.1"
}