Tripo: 3D Generation
Tripo crea un modelo 3D a partir de una descripción escrita del objeto. Los procesos más amplios del fabricante distinguen la geometría, el texturizado y el procesamiento posterior del modelo; examina la malla completa desde varios puntos de vista y conserva los archivos reales para la escena o el editor de destino.
Sobre el modelo
Esta descripción cubre las capacidades del modelo. Las entradas, salidas y opciones disponibles en Ailoot se indican a continuación para el método seleccionado.
Tripo crea modelos 3D a partir de una descripción o una referencia visual. Sus procesos separan la generación de un objeto de los pasos posteriores, como el texturizado, la creación de un sistema de articulación y la conversión. Empieza por identificar el recurso deseado y la operación que lo produce: una malla estática para una escena, un objeto con texturas para renderizar o un modelo que recibirá preparación adicional en un editor 3D.
Para unas indicaciones destinadas a generar un modelo a partir de texto, describe la forma del objeto y sus partes importantes. Un farol pequeño puede especificarse por su cuerpo, asa, aberturas y proporciones; una criatura, por su silueta, extremidades y postura. Indica el material o el tratamiento visual cuando importe para el resultado. Mantén la descripción centrada en el propio objeto para poder evaluar la geometría generada frente a un diseño claro.
Para un proceso del fabricante basado en referencias, prepara imágenes que muestren el contorno del sujeto y sus características distintivas. Varias vistas deben describir el mismo objeto con proporciones y accesorios coherentes. Revisa las partes ocultas en la referencia después de generar el modelo, porque una vista frontal convincente no establece que la parte posterior, la inferior o las conexiones entre componentes coincidan con el diseño previsto.
Conserva la versión seleccionada del modelo junto con la solicitud. La interfaz de generación de Tripo identifica la operación por separado del ajuste de versión del modelo, y el ejemplo documentado de generación a partir de texto elige una versión explícita. Conserva la versión exacta y los controles al comparar recursos para no confundir un cambio en la descripción del objeto con un cambio en la configuración de generación.
La geometría y el aspecto de la superficie son decisiones de producción independientes. El proceso básico del fabricante distingue un modelo sin texturas de una salida con texturas y materiales para renderizado basado en la física. Elige la forma del recurso necesaria para el siguiente paso y examina tanto la malla como los archivos de materiales que la acompañen. Una imagen de vista previa sirve para orientarse, mientras que el modelo real es el recurso necesario para montar la escena y seguir editando.
Examina el objeto completo desde varios ángulos. Observa la silueta, la separación de las partes, los elementos finos, las aberturas y las superficies donde se unen los componentes. Para un objeto de escena estilizado, compara las proporciones con las indicaciones de diseño. Para un objeto con aspecto de producto, comprueba qué detalles están representados mediante geometría y cuáles aparecen solo en el tratamiento de la superficie. Identifica la característica que debe revisarse antes de cambiar las instrucciones o la referencia.
La generación se ejecuta como una tarea asíncrona. Conserva el identificador de la tarea original durante la consulta de su estado y mantén juntos el modelo completo, la vista previa y los demás archivos devueltos. El resultado documentado incluye campos de salida relacionados con el modelo e imágenes renderizadas. Guarda los propios archivos para el siguiente paso de producción, en lugar de depender de un enlace temporal al resultado o tratar la vista previa como la entrega 3D completa.
Importa el modelo en el editor o entorno de visualización previsto y examina allí su orientación, escala, materiales y geometría. Un objeto de escena, un renderizado en primer plano y un personaje preparado para animación tienen necesidades de acabado distintas. Conserva una copia de trabajo para las ediciones y guarda el recurso de origen generado junto con sus indicaciones y referencias. Cuando necesites otra operación, como trabajo con texturas o creación de un sistema de articulación, elígela deliberadamente y revisa el recurso resultante como una etapa independiente.
Ailoot Ultra · 3D POST /v1/3d/generations tripo3d
tripo3dPrimeros pasos
Tripo crea un modelo 3D a partir de una descripción escrita del objeto. Los procesos más amplios del fabricante distinguen la geometría, el texturizado y el procesamiento posterior del modelo; examina la malla completa desde varios puntos de vista y conserva los archivos reales para la escena o el editor de destino.
- Entradas aceptadas
- Texto
- Resultados
- model_3d · Imágenes
Disponible en Ailoot · entradas y métodos
Ailoot Ultra · 3D POST /v1/3d/generations
- Tipos de entrada
text- Tipos de salida
model_3d,image
| Campo | Tipo | Requisito | Valores y límites | Predeterminado |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObligatorio | Valores y límites tripo3d Condiciones: Utiliza el selector de modelo de Ailoot. | Predeterminado— |
Campotype | Tipostring | RequisitoObligatorio | Valores y límites text_to_model, image_to_model, multiview_to_model, texture_model, animate_prerigcheck, animate_rig, animate_retarget, stylize_model, convert_model Condiciones: El ejemplo completo utiliza text_to_model; los demás tipos de tarea requieren sus entradas específicas documentadas. | Predeterminado— |
Campomodel_version | Tipostring | RequisitoObligatorio | Valores y límites v2.0-20240919, v1.4-20240625, v2.5-20250123, v3.0-20250812, Turbo-v1.0-20250506 Condiciones: Selecciona una versión documentada explícitamente; este ejemplo utiliza v3.0-20250812. | Predeterminado— |
Campoprompt | Tipostring | RequisitoObligatorio | Valores y límites Condiciones: Describe el objeto que quieres crear. | Predeterminado— |
Parámetros del método y ciclo de vida
| Parámetro | Contrato |
|---|---|
Parámetrocontent_type | Contratoapplication/json |
Parámetrorequired | Contratomodel, type, model_version, prompt |
Parámetrooptional | Contrato |
Parámetromaterial_types | Contratotext |
Parámetroconditions | ContratoUtiliza el selector de modelo de Ailoot., El ejemplo completo utiliza text_to_model; los demás tipos de tarea requieren sus entradas específicas documentadas., Selecciona una versión documentada explícitamente; este ejemplo utiliza v3.0-20250812., Describe el objeto que quieres crear. |
Ciclo de vida: submit_once_poll_original
GET /v1/3d/generations/{request_id}
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Planes
Cómo se calcula el cargo definitivo
Las tarifas mostradas estiman el coste antes de la generación. El cargo final se calcula a partir del coste registrado para la generación original. La duración medida del resultado y las cantidades previstas no constituyen la cantidad facturable final.
Las referencias tarifarias no añaden opciones a la solicitud. Los parámetros admitidos se indican en el método seleccionado.
- Modo rápido
- Sin especificar Cuando se selecciona el modo rápido
- Modo flex
- Sin especificar Cuando se selecciona el modo flex
- Esfuerzo máximo de razonamiento
- Sin especificar Cuando el esfuerzo máximo de razonamiento utiliza el ajuste predeterminado (default)
Tarifas estimadas para comparar
Precios por configuración
Relaciona cada cargo con las condiciones mostradas. Usa una tarifa para cada conjunto de configuraciones alternativas.
| Configuración | Tabla de tarifas | Cantidad prevista | Cargo |
|---|---|---|---|
| ConfiguraciónTarifas base por token | Tabla de tarifasTarifa base | Cantidad prevista— | Cargo Entrada · Tokens de entrada · Estimación solo para comparar — / 1K tokens Salida · Tokens de salida · Estimación solo para comparar — / 1K tokens Entrada · Lectura de caché · Estimación solo para comparar — / 1K tokens Entrada · Escritura en caché · Estimación solo para comparar — / 1K tokens Entrada · Escritura en caché, 1 hora · Estimación solo para comparar — / 1K tokens |
| ConfiguraciónCoste estimado de generación | Tabla de tarifas— | Cantidad previstaestimación para una generación | Cargo Salida · Coste estimado de generación · Estimación solo para comparar $1.35 estimación previa a la generación Esta estimación no es un cargo adicional ni una tarifa fija para la generación completada. |
Ailoot reserva un importe estimado antes de la solicitud. Tras obtener el resultado, liquida el cargo definitivo según el uso medido. En las respuestas en flujo, la liquidación usa el registro de uso final. Cómo funcionan la reserva y la liquidación →
Solicitudes de ejemplo
Ailoot Ultra · 3D
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
cat > request.json <<'JSON'
{
"model": "tripo3d",
"type": "text_to_model",
"prompt": "a cute pig",
"model_version": "v3.0-20250812"
}
JSON
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/3d/generations \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
# Create once; retain id, polling_url, original task identifiers and every header.
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_STATUS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path("result.json").read_text())
u=urljoin("https://api.ailoot.ai",r["polling_url"])
p=urlsplit(u)
if p.scheme!="https" or p.netloc!="api.ailoot.ai" or p.username or p.password:
raise SystemExit("Unexpected returned polling URL; preserve the response")
subprocess.run(["curl","--fail-with-body","--silent","--show-error",u,"-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"],"-D","status-headers.txt","-o","status.json"],check=True)
# Read this same original polling_url again while pending.
# Preserve unknown/result_pending_check; do not repeat creation.
PY_STATUS
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_ASSETS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path("status.json").read_text())
roles={}
def visit(v,path=""):
if isinstance(v,dict):
for k,x in v.items(): visit(x,path+"/"+k)
elif isinstance(v,list):
for i,x in enumerate(v): visit(x,path+"/"+str(i))
elif isinstance(v,str):
u=urljoin("https://api.ailoot.ai",v); p=urlsplit(u)
if p.scheme=="https" and p.netloc=="api.ailoot.ai" and not p.username and not p.password and p.path.startswith("/v1/media/assets/") and p.path.endswith("/content"):
roles.setdefault(u,[]).append(path)
visit(r)
if not roles: raise SystemExit("No completed owned assets; retain the original status")
manifest=[]
for i,(u,paths) in enumerate(roles.items()):
target=Path(f"asset-{i}.bin")
subprocess.run(["curl","--fail-with-body","--silent","--show-error",u,"-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"],"-o",str(target)],check=True)
raw=target.read_bytes()
if not raw: raise SystemExit("Empty asset; retain original status and metadata")
ext="glb" if raw[:4]==b"glTF" else "png" if raw[:8]==b"\x89PNG\r\n\x1a\n" else "jpg" if raw[:3]==b"\xff\xd8\xff" else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "mp4" if raw[4:8]==b"ftyp" else "bin"
name=f"asset-{i}.{ext}"
if target.name!=name: target.rename(name)
manifest.append({"file":name,"response_paths":paths,"bytes":len(raw)})
Path("asset-manifest.json").write_text(json.dumps(manifest,indent=2))
print("Saved",len(manifest),"unique owned assets; every response role retained")
PY_ASSETS
Recibir y guardar resultados
Ailoot Ultra · 3D
Descarga cada imagen recibida o guarda su contenido Base64
GET /v1/3d/generations/{request_id}GET /v1/media/assetsGET /v1/media/assets/{asset_id}
Conserva todos los resultados completados
Conserva todas las respuestas, archivos y partes de contenido completos recibidos.
Conserva la respuesta completa y sus cabeceras, los identificadores originales, todos los resultados reales y todos los campos de uso y contabilidad. Guarda cada recurso único bajo tu titularidad y conserva todas las funciones que apuntan a él.
Si es necesario revisar la respuesta original
Conserva el id público devuelto de la tarea u operación y todas las cabeceras. Consulta únicamente la tarea original; unknown o result_pending_check no autorizan otra creación.
Campos de respuesta
| Campo | Tipo |
|---|---|
Campoid | Tipostring |
Campopolling_url | Tipostring |
Campoprovider_task_id | Tipostring |
Campocode | Tipointeger |
Campodata.task_id | Tipostring |
Campodata.status | Tipostring |
Campodata.progress | Tipointeger |
Campodata.output.* | Tipostring |
Campodata.result.*.url | Tipostring |
Campodata.result.*.type | Tipostring |
Campodata.thumbnail | Tipostring |
Alias
Alias del modelo
Ailoot Ultra tripo3d
Alias de rutas de métodos
Usa las rutas de método indicadas arriba.
ID de modelo relacionados
FAQ · Tripo: 3D Generation
- ¿Qué entradas y resultados están disponibles?
POST /v1/3d/generations·tripo3d:text→model_3d,image- ¿Qué campos utiliza la solicitud?
POST /v1/3d/generations·tripo3d:model,type,model_version,prompt