Справочник API

3D-модели

Модели этого эндпоинта (1)

Попробовать в Workbench
POST/v1/model3d/tasks
GET/v1/model3d/tasks/{task_id}

Асинхронная генерация и постобработка 3D. Что делает задача, определяет одно поле — operation: создать модель по тексту, изображению или нескольким ракурсам, затем текстурировать, сегментировать её, выполнить ретопологию или риггинг. Отправка возвращает task_id; опрашивайте задачу, пока URL модели не появится в теле задачи.

#Параметры запроса

  • modelstringобязательно

    ID 3D-модели из каталога, например tripo-3d.

  • operationstringобязательно

    text_to_model · image_to_model · multiview_to_model · texture · smart_segment · retopology · rig · animate.

  • promptstringнеобязательно

    Что создать. Используется в text_to_model.

  • inputstringнеобязательно

    Публичный URL изображения для image_to_model или task_id готовой 3D-модели для texture, smart_segment, retopology, rig и animate.

  • inputsobject[]необязательно

    multiview_to_model: [{"front": url}, {"left": url}, …] — вид спереди и как минимум ещё один ракурс.

  • texturebooleanнеобязательно

    Сгенерировать текстуры вместе с моделью.

  • pbrbooleanнеобязательно

    Сгенерировать PBR-материалы.

  • texture_promptobjectнеобязательно

    texture: {"text": "weathered bronze"} описывает новую поверхность.

  • face_limitintegerнеобязательно

    retopology: максимальное число полигонов в результате.

  • quadbooleanнеобязательно

    retopology: четырёхугольная сетка вместо треугольников.

  • animationstringнеобязательно

    animate: анимация, которая применяется к модели с ригом.

#Связанные ошибки

  • 404 not_foundНеизвестный task_id, либо входная задача последующего шага не существует или ещё не завершена.
  • 401Bearer-токен недействителен или отсутствует. На этом пути error.code нет — ориентируйтесь на статус.
  • 402 insufficient_user_quotaБаланса кошелька не хватает на предварительно резервируемую сумму.
  • 429Ограничение частоты для ключа. Тело пустое; дождитесь Retry-After. Если же в ответе 429 есть insufficient_user_quota, это дневной лимит расходов.
  • 503 model_not_foundНеизвестная модель, или сейчас её не обслуживает ни один исправный канал.

Полная таблица кодов ошибок →

#Пример запроса

# 1. make a model from text
curl https://www.aisplice.store/v1/model3d/tasks \
  -H "Authorization: Bearer sk-YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "tripo-3d", "operation": "text_to_model", "prompt": "A small ceramic fox", "texture": true}'

# 2. poll until status is completed; the file is in url
curl https://www.aisplice.store/v1/model3d/tasks/$TASK_ID -H "Authorization: Bearer sk-YOUR_KEY"

# 3. texture it: pass the finished task_id as input
curl https://www.aisplice.store/v1/model3d/tasks \
  -H "Authorization: Bearer sk-YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "tripo-3d", "operation": "texture", "input": "'$TASK_ID'", "texture_prompt": {"text": "weathered bronze"}}'

#Ответ

response.json
// POST /v1/model3d/tasks
{"task_id": "task_xxx", "status": "queued"}

// GET /v1/model3d/tasks/{task_id} — after completion
{"task_id": "task_xxx", "status": "completed", "url": "https://…/model.glb", "output": {"model_url": "https://…/model.glb"}}

Проблема не решена?

Пришлите нам ID запроса или текст ошибки, и мы разберёмся.