Tripo: 3D Generation
Tripo cria um modelo 3D a partir de uma descrição escrita do objeto. Os processos mais amplos do fabricante distinguem geometria, texturização e processamento posterior do modelo; examine a malha concluída de vários pontos de vista e conserve os ficheiros reais para a cena ou o editor de destino.
Sobre o modelo
Esta descrição apresenta as capacidades do modelo. As entradas, saídas e opções disponíveis no Ailoot para o método selecionado estão indicadas abaixo.
Tripo cria modelos 3D a partir de uma descrição ou referência visual. Os seus processos separam a geração de um objeto de etapas posteriores, como texturização, rigging e conversão. Comece por identificar o recurso pretendido e a operação que o produz: uma malha estática para uma cena, um objeto com texturas para renderização ou um modelo que receberá preparação adicional num editor 3D.
Para uma descrição destinada a gerar um modelo a partir de texto, descreva a forma do objeto e as suas partes importantes. Uma pequena lanterna pode ser especificada pelo corpo, pela pega, pelas aberturas e pelas proporções; uma criatura pela silhueta, pelos membros e pela pose. Indique o material ou o tratamento visual quando for relevante para o resultado. Mantenha a descrição centrada no próprio objeto, para que a geometria gerada possa ser avaliada em relação a um desenho claro.
Para um processo do fabricante baseado em referências, prepare imagens que mostrem o contorno do sujeito e as características distintivas. Várias vistas devem descrever o mesmo objeto com proporções e acessórios consistentes. Examine as partes escondidas na referência depois da geração, porque uma vista frontal convincente não estabelece que a parte de trás, a parte inferior ou as ligações entre componentes correspondam ao desenho pretendido.
Conserve a versão do modelo selecionada com o pedido. A interface de geração do Tripo identifica a operação separadamente da definição da versão do modelo e o exemplo documentado de geração a partir de texto escolhe uma versão explícita. Preserve a versão exata e os controlos ao comparar recursos, para que uma alteração à descrição do objeto não seja confundida com uma alteração à configuração de geração.
A geometria e o aspeto da superfície são decisões de produção separadas. O processo base do fabricante distingue um modelo sem texturas de uma saída com texturas e materiais para renderização baseada na física. Escolha a forma do recurso necessária para a etapa seguinte e examine tanto a malha como quaisquer ficheiros de materiais que a acompanhem. Uma imagem de pré-visualização é útil para orientação, enquanto o modelo real é o recurso necessário para montar a cena e continuar a edição.
Examine o objeto concluído de vários ângulos. Observe a silhueta, a separação das partes, os elementos finos, as aberturas e as superfícies onde os componentes se encontram. Para um adereço estilizado, compare as proporções com a descrição do desenho. Para um objeto semelhante a um produto, verifique que detalhes são representados por geometria e quais aparecem apenas no tratamento da superfície. Identifique a característica que precisa de revisão antes de alterar o prompt ou a referência.
A geração decorre como uma tarefa assíncrona. Conserve o identificador da tarefa original durante a verificação do estado e mantenha juntos o modelo concluído, a pré-visualização e quaisquer outros ficheiros devolvidos. O resultado documentado inclui campos de saída relacionados com o modelo e imagens renderizadas. Guarde os próprios ficheiros para a etapa de produção seguinte, em vez de depender de uma ligação temporária ao resultado ou tratar a pré-visualização como o recurso 3D completo a entregar.
Importe o modelo para o editor ou ambiente de visualização pretendido e examine aí a orientação, a escala, os materiais e a geometria. Um adereço de cena, uma renderização em grande plano e uma personagem pronta para animação têm necessidades de acabamento diferentes. Mantenha uma cópia de trabalho para edições e conserve o recurso de origem gerado com a sua descrição e referências. Quando for necessária outra operação, como trabalho de texturas ou rigging, escolha essa operação de forma deliberada e examine o recurso resultante como uma etapa separada.
Ailoot Ultra · 3D POST /v1/3d/generations tripo3d
tripo3dIntrodução
Tripo cria um modelo 3D a partir de uma descrição escrita do objeto. Os processos mais amplos do fabricante distinguem geometria, texturização e processamento posterior do modelo; examine a malha concluída de vários pontos de vista e conserve os ficheiros reais para a cena ou o editor de destino.
- Entradas aceites
- Texto
- Resultados
- model_3d · Imagens
Disponível no Ailoot · entradas e métodos
Ailoot Ultra · 3D POST /v1/3d/generations
- Entrada
text- Saída
model_3d,image
| Campo | Tipo | Requisito | Valores e limites | Predefinição |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObrigatório | Valores e limites tripo3d Condições: Utilize o seletor de modelos da Ailoot. | Predefinição— |
Campotype | Tipostring | RequisitoObrigatório | Valores e limites text_to_model, image_to_model, multiview_to_model, texture_model, animate_prerigcheck, animate_rig, animate_retarget, stylize_model, convert_model Condições: O exemplo completo utiliza text_to_model; os outros tipos de tarefa exigem as entradas documentadas específicas da respetiva tarefa. | Predefinição— |
Campomodel_version | Tipostring | RequisitoObrigatório | Valores e limites v2.0-20240919, v1.4-20240625, v2.5-20250123, v3.0-20250812, Turbo-v1.0-20250506 Condições: Selecione uma versão explicitamente documentada; este exemplo utiliza v3.0-20250812. | Predefinição— |
Campoprompt | Tipostring | RequisitoObrigatório | Valores e limites Condições: Descreva o objeto a criar. | Predefinição— |
Parâmetros e ciclo de vida do método
| Parâmetro | Contrato |
|---|---|
Parâmetrocontent_type | Contratoapplication/json |
Parâmetrorequired | Contratomodel, type, model_version, prompt |
Parâmetrooptional | Contrato |
Parâmetromaterial_types | Contratotext |
Parâmetroconditions | ContratoUtilize o seletor de modelos da Ailoot., O exemplo completo utiliza text_to_model; os outros tipos de tarefa exigem as entradas documentadas específicas da respetiva tarefa., Selecione uma versão explicitamente documentada; este exemplo utiliza v3.0-20250812., Descreva o objeto a criar. |
Ciclo de vida: submit_once_poll_original
GET /v1/3d/generations/{request_id}
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Tarifários
Cálculo do custo final
As tarifas apresentadas permitem estimar o custo antes da geração. O montante final cobrado é calculado a partir do custo registado para a geração original. A duração medida do resultado e as quantidades previstas não correspondem à quantidade final faturável.
As referências tarifárias não acrescentam opções ao pedido. Os parâmetros suportados constam do método selecionado.
- Modo rápido
- Não especificado Quando o modo rápido está selecionado
- Modo flex
- Não especificado Quando o modo flex está selecionado
- Esforço máximo de raciocínio
- Não especificado Quando o esforço máximo de raciocínio usa o ajuste predefinido (default)
Tarifas estimadas para comparação
Preços por configuração
Associe cada custo às condições apresentadas. Use uma única tarifa para cada conjunto de configurações alternativas.
| Configuração | Tabela de tarifas | Quantidade prevista | Custo |
|---|---|---|---|
| ConfiguraçãoTarifas base por token | Tabela de tarifasTarifa base | Quantidade prevista— | Custo Entrada · Tokens de entrada · Estimativa apenas para comparação — / 1K tokens Saída · Tokens de saída · Estimativa apenas para comparação — / 1K tokens Entrada · Leitura da cache · Estimativa apenas para comparação — / 1K tokens Entrada · Escrita na cache · Estimativa apenas para comparação — / 1K tokens Entrada · Escrita na cache, 1 hora · Estimativa apenas para comparação — / 1K tokens |
| ConfiguraçãoCusto estimado de geração | Tabela de tarifas— | Quantidade previstaestimativa para uma geração | Custo Saída · Custo estimado de geração · Estimativa apenas para comparação $1.35 estimativa antes da geração Esta estimativa não é um encargo adicional nem uma tarifa fixa para a geração concluída. |
O Ailoot reserva um montante estimado antes de um pedido. Após o resultado, liquida o custo final com base na utilização medida. No streaming, a liquidação usa o registo final de utilização. Como funcionam a reserva e a liquidação →
Exemplos de pedidos
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
Receber e guardar os resultados
Ailoot Ultra · 3D
Descarregue cada imagem devolvida ou guarde o respetivo conteúdo Base64
GET /v1/3d/generations/{request_id}GET /v1/media/assetsGET /v1/media/assets/{asset_id}
Guardar todos os resultados concluídos
Guarde cada resposta, ficheiro e parte de conteúdo devolvidos na íntegra.
Conserve a resposta completa e os cabeçalhos, os identificadores originais, todos os resultados reais e todos os campos de utilização/contabilidade. Guarde cada recurso único pertencente ao utilizador e conserve todas as funções que apontam para ele.
Se for necessário verificar a resposta original
Conserve o id público de tarefa ou operação devolvido e todos os cabeçalhos. Consulte apenas a tarefa original; unknown ou result_pending_check não autoriza uma nova criação.
Campos da resposta
| 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 |
Aliases
Aliases do modelo
Ailoot Ultra tripo3d
Aliases dos caminhos dos métodos
Use os caminhos dos métodos indicados acima.
IDs de chamada relacionados
FAQ · Tripo: 3D Generation
- Que entradas e resultados estão disponíveis?
POST /v1/3d/generations·tripo3d:text→model_3d,image- Que campos utiliza o pedido?
POST /v1/3d/generations·tripo3d:model,type,model_version,prompt