Руководство по миграции с v2 на v3
Этот документ поможет вам перенести существующий код с Tripo API v2 на v3.
Перейдите с V2 на V3 с помощью Skill
Вам не нужно сначала разбираться во всех различиях API. Скачайте этот Skill, поместите файл в каталог проекта, который нужно перенести, и попросите инструмент для программирования на базе ИИ использовать его. Он поможет найти вызовы V2 в вашем проекте и шаг за шагом перенести их на V3.
Шаг 1: Скачайте Skill
Вы получите файл с именем SKILL.md. Не изменяйте имя файла.
Шаг 2: Поместите Skill в каталог проекта и используйте его
Поместите скачанный SKILL.md в каталог проекта, который нужно перенести, затем откройте этот проект и просто попросите ИИ использовать этот Skill.
Шаг 3: Скопируйте этот запрос, чтобы начать миграцию
Откройте проект, который хотите перенести. Скопируйте весь запрос ниже и отправьте его своему инструменту для программирования на базе ИИ:
Используйте файл `SKILL.md` из каталога проекта, чтобы перенести интеграцию Tripo API этого проекта с V2 на V3. Сначала покажите, что требуется изменить. Дождитесь моего подтверждения, затем внесите изменения. В конце воспользуйтесь контрольным списком в файле, чтобы убедиться, что ничего не пропущено.
Инструмент сначала найдет вызовы V2 и покажет вам план, поэтому вам не придется самостоятельно искать их в каждом файле.
Основные изменения
1. Изменение базы URL
# v2
https://api.tripo3d.ai/v2/openapi/
# v3
https://openapi.tripo3d.ai/v3/
2. Универсальная конечная точка разделена на выделенные конечные точки.
v2 использует одну конечную точку POST /v2/openapi/task и поле type для различения типов задач. v3 предоставляет выделенную конечную точку для каждой возможности, поэтому поле type больше не требуется.
// v2
POST /v2/openapi/task
{ "type": "text_to_model", "prompt": "a cat" }
// v3
POST /v3/generation/text-to-model
{ "prompt": "a cat" }
3. Входные данные файла объединены в поле input.
В v2 используются разные имена полей в зависимости от источника входных данных, например file, file_token, url и object. В v3 они объединены в поле input, и система автоматически определяет тип ввода.
// v2 - different field names are required
{ "type": "refine_model", "draft_model_task_id": "task_abc123" }
{ "type": "convert_model", "original_model_task_id": "task_abc123" }
// v3 - use input consistently
{ "input": "task_abc123" }
{ "input": "https://example.com/model.glb" }
{ "input": "file_token_abc123" }
4. Стандартизированные имена полей
| Поле v2 | Поле v3 |
|---|---|
create_time |
created_at |
consumed_credit |
credits_consumed |
5. Разделение текста на изображение и изображения на изображение
В v2 процессы преобразования текста в изображение и изображения в изображение используют один и тот же API. В v3 они разделены на выделенные конечные точки:
POST /v3/generation/text-to-image— создать изображение из текстового ввода.POST /v3/generation/image-to-image— создание или редактирование изображения на основе эталонного изображения.
Сопоставление конечных точек
Поколение
| Тип v2 Значение | v3 Конечная точка |
|---|---|
text_to_model |
POST /v3/generation/text-to-model |
image_to_model |
POST /v3/generation/image-to-model |
multiview_to_model |
POST /v3/generation/multiview-to-model |
text_to_image |
POST /v3/generation/text-to-image |
generate_image |
POST /v3/generation/image-to-image |
generate_multiview_image |
POST /v3/generation/image-to-multiview |
edit_multiview_image |
POST /v3/generation/edit-multiview |
Обработка модели
| Тип v2 Значение | v3 Конечная точка |
|---|---|
refine_model |
POST /v3/models/refine |
convert_model |
POST /v3/models/convert |
import_model |
POST /v3/models/import |
stylize_model |
POST /v3/models/stylize |
texture_model |
POST /v3/models/texture |
Анимация
| Тип v2 Значение | v3 Конечная точка |
|---|---|
animate_prerigcheck |
POST /v3/animations/rig-check |
animate_rig |
POST /v3/animations/rig |
animate_retarget |
POST /v3/animations/retarget |
Редактирование сетки
| Тип v2 Значение | v3 Конечная точка |
|---|---|
mesh_segmentation |
POST /v3/mesh/segment |
mesh_completion |
POST /v3/mesh/complete |
highpoly_to_lowpoly |
POST /v3/mesh/decimate |
Задачи и файлы
| v2 Конечная точка | v3 Конечная точка |
|---|---|
GET /v2/openapi/task/{task_id} |
GET /v3/tasks/{task_id} |
POST /v2/openapi/upload |
POST /v3/files |
Этапы миграции
Шаг 1. Обновите базу URL.
# v2
BASE_URL = "https://api.tripo3d.ai/v2/openapi"
# v3
BASE_URL = "https://openapi.tripo3d.ai/v3"
Шаг 2. Замените конечные точки с помощью таблицы сопоставления
# v2
response = requests.post(f"{BASE_URL}/task", json={
"type": "text_to_model",
"prompt": "a cat"
})
# v3
response = requests.post(f"{BASE_URL}/generation/text-to-model", json={
"prompt": "a cat"
})
Шаг 3. Удалите поле type.
В v3 путь к конечной точке уже подразумевает тип задачи, поэтому в теле запроса больше не требуется поле type.
Шаг 4. Замените поля ввода на input.
# v2 - different task types use different field names
payload = {"type": "refine_model", "draft_model_task_id": "task_abc123"}
payload = {"type": "convert_model", "original_model_task_id": "task_abc123"}
# v3 - use input consistently
payload = {"input": "task_abc123"}
Шаг 5. Обновите имена полей ответа
# v2
created = task["create_time"]
cost = task["consumed_credit"]
# v3
created = task["created_at"]
cost = task["credits_consumed"]
Шаг 6: Тестирование и проверка
- Заменяйте и тестируйте каждую конечную точку по одной
- Убедитесь, что создание задач и опрос работают правильно.
- Убедитесь, что ссылки для скачивания доступны.
- Убедитесь, что запросы на вычет кредита и баланс работают правильно
Примечания
- v2 и v3 могут работать параллельно. Мы рекомендуем переходить постепенно, а не сразу.
- API Keys используются v2 и v3. Вам не нужно создавать новые ключи
- Формат задачи ID остается неизменным. Задачи, созданные в v2, можно запросить в v3.