Skip to content

鉴权

开始前,请先在 API key 页面创建 API key。

我们使用 HTTP Bearer token 进行鉴权。调用任意 endpoint 时都需要携带以下请求头:

Authorization: Bearer YOUR_TRIPO_API_KEY

生成后请将 API key 安全保存。

最快跑通路径(30 秒)

  1. 使用 POST /v2/openapi/task 提交任务。
  2. 从响应中拿到 task_id
  3. GET /v2/openapi/task/{task_id} 轮询,直到 statussuccess
  4. data.output 读取输出结果。

任务生命周期

任务生命周期

用你的 key 发起第一个任务

完成 API key 创建后,你可以先尝试发起一个 3D 模型生成请求:

python
import requests
import json

url = "https://api.tripo3d.ai/v2/openapi/task"

payload = json.dumps({
  "type": "text_to_model",
  "prompt": "A dachshund standing on a stool.",
})
headers = {
  "Content-Type": "application/json",
  "Authorization": "Bearer YOUR_TRIPO_API_KEY",
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.json()["data"]["task_id"])

也可以尝试图像生成请求(flux.1 kontext pro):

python
import requests
import json

url = "https://api.tripo3d.ai/v2/openapi/task"

payload = json.dumps({
  "type": "generate_image",
  "prompt": "A dachshund standing on a stool.",
})
headers = {
  "Content-Type": "application/json",
  "Authorization": "Bearer YOUR_TRIPO_API_KEY",
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.json()["data"]["task_id"])

然后使用 your_task_id 轮询最终结果:

python
import requests
import time

url = "https://api.tripo3d.ai/v2/openapi/task/07764597-9c93-4eb9-92b6-4ea96a8c7d1a"

headers = {
    "Content-Type": "application/json",
    "Authorization": "Bearer YOUR_TRIPO_API_KEY",
}

poll_interval_seconds = 2

while True:
    response = requests.get(url, headers=headers)
    data = response.json().get("data", {})
    status = data.get("status")

    if status == "success":
        print(data.get("output"))
        break

    print(f"Current status: {status}")
    time.sleep(poll_interval_seconds)

使用 Python SDK

我们还提供官方的 Python SDK,用于简化 Tripo3D API 的集成。

安装

shell
pip install tripo3d

示例

python
import asyncio
from tripo3d import TaskStatus, TripoClient


async def main():
    async with TripoClient(api_key="YOUR_API_KEY") as client:
        task_id = await client.text_to_model(
            prompt="a small cat",
            negative_prompt="low quality, blurry",
        )
        print(f"Task ID: {task_id}")

        task = await client.wait_for_task(task_id, verbose=True)
        if task.status == TaskStatus.SUCCESS:
            files = await client.download_task_models(task, "./output")
            for model_type, path in files.items():
                print(f"Downloaded {model_type}: {path}")


asyncio.run(main())

Note

  • SDK 简化了鉴权、任务提交、轮询与下载等流程。
  • 同时支持同步与异步用法。
  • 完整用法与更多示例(网格编辑、多视图生成、风格化等)请参见 GitHub 仓库:VAST-AI-Research/tripo-python-sdk

推荐的产品接入流程

推荐的产品接入流程

至此你已经完成基础接入。更多参数与能力请查看各任务类型文档。