# Изображение в 3D-модель
> **POST** `/v3/generation/image-to-model`
Создайте 3D-модель из изображения.
## Параметры запроса
### Заголовки запросов
| Параметр | Тип | Требуется | По умолчанию | Описание |
| :-: | :-: | :-: | :-: | :-: |
| Content-Type | строка | Да | - | `application/json` |
| Authorization | строка | Да | - | `Bearer {api_key}` |
### Тело запроса
| Параметр | Тип | Требуется | По умолчанию | Описание |
| :-: | :-: | :-: | :-: | :-: |
| input | строка | Да | - | Источник изображения. Принимает токен файла, начинающийся с `file_`, URL, начинающийся с `http(s)://`, или задачу ID, начинающуюся с `task_`. |
| model | строка | Нет | `tripo-v3.1` | Версия модели AI. Поддерживаемые значения: `tripo-p1`, `tripo-turbo`, `tripo-v3.1`, `tripo-v3.0`, `tripo-v2.5`, `tripo-v2.0`. |
| enable_image_autofix | логическое значение | Нет | `false` | Автоматически улучшать входные изображения низкого качества |
| texture_alignment | строка | Нет | `original_image` | Приоритет выравнивания текстур. Поддерживаемые значения: `original_image` (приоритет соответствия исходному изображению), `geometry` (приоритет соответствия геометрии). |
| orientation | строка | Нет | `default` | Ориентация модели. Поддерживаемые значения: `default`, `align_image` (выравнивание по точке обзора входного изображения). |
| face_limit | целое число | Нет | Адаптивный | Максимальный полисчет для вывода |
| texture | логическое значение | Нет | `true` | Включить текстурные карты |
| pbr | логическое значение | Нет | `true` | Включите материалы PBR. При включении `texture` принудительно переключается на `true`. |
| texture_seed | целое число | Нет | Случайный | Случайное начальное значение для генерации текстур |
| texture_quality | строка | Нет | `standard` | Качество текстур. Поддерживаемые значения: `standard`, `detailed`, `extreme`. |
| geometry_quality | строка | Нет | `standard` | Качество геометрии. `standard` (сбалансированный), `detailed` (ультрарежим) |
| auto_size | логическое значение | Нет | `false` | Автоматически масштабировать модель до реальных размеров в метрах. |
| quad | логическое значение | Нет | `false` | Выведите четырехугольную сетку. Если этот параметр включен, формат вывода принудительно устанавливается на FBX. |
| smart_low_poly | логическое значение | Нет | `false` | Создайте низкополигональную модель с созданным вручную стилем топологии. |
| generate_parts | логическое значение | Нет | `false` | Создавайте редактируемые сегментированные части. Взаимоисключающе с `texture=true`, `pbr=true` и `quad=true`. |
| compress | строка | Нет | - | Тип сжатия. `geometry` (сжатие сети) |
Следующие параметры действительны только при `model >= tripo-v3.0`: `texture_quality`, `geometry_quality`, `auto_size`, `quad`, `smart_low_poly`, `generate_parts`, `compress`.
## Примеры запросов
### curl
```bash
curl -X POST https://openapi.tripo3d.ai/v3/generation/image-to-model \
-H "Content-Type: application/json" \
-H "Authorization: Bearer {api_key}" \
-d '{
"input": "https://example.com/image.png",
"model": "tripo-v3.1",
"texture": true,
"pbr": true,
"texture_quality": "detailed"
}'
```
### Python
```python
import requests
url = "https://openapi.tripo3d.ai/v3/generation/image-to-model"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer {api_key}"
}
payload = {
"input": "https://example.com/image.png",
"model": "tripo-v3.1",
"texture": True,
"pbr": True,
"texture_quality": "detailed"
}
response = requests.post(url, headers=headers, json=payload)
print(response.json())
```
### JavaScript
```javascript
const url = "https://openapi.tripo3d.ai/v3/generation/image-to-model";
const response = await fetch(url, {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer {api_key}"
},
body: JSON.stringify({
input: "https://example.com/image.png",
model: "tripo-v3.1",
texture: true,
pbr: true,
texture_quality: "detailed"
})
});
const data = await response.json();
console.log(data);
```
## Ответ
### Успешный ответ
```json
{
"code": 0,
"data": {
"task_id": "task_abc123"
}
}
```
### Поля ответа
| Параметр | Тип | Описание |
| :-: | :-: | :-: |
| code | целое число | Код состояния. `0` указывает на успех. |
| data.task_id | строка | Уникальный идентификатор задачи, используемый для запроса хода создания и результатов. |
## Коды ошибок
| HTTP Код состояния | Код ошибки | Описание | Рекомендация |
| :-: | :-: | :-: | :-: |
| 429 | 2000 | Превышен лимит генерации | Уменьшите частоту запросов и повторите попытку позже. |
| 400 | 2002 | Неподдерживаемый параметр запроса | Проверьте имена параметров тела запроса и диапазоны значений. |
| 400 | 2003 | Входной файл пуст | Убедитесь, что загруженный файл не пуст или что URL доступен. |
| 400 | 2004 | Неподдерживаемый тип файла | Используйте поддерживаемый формат изображения (PNG, JPEG, WebP) |
| 400 | 2008 | Ввод нарушает политику в отношении контента | Замените входное изображение и удалите контент, нарушающий правила. |
| 403 | 2010 | Недостаточно кредитов | Добавьте кредиты и повторите попытку. |
| 400 | 2015 | Версия модели устарела | Обновите `model` до поддерживаемой на данный момент версии. |
| 400 | 2018 | Модель слишком сложна для повторного создания сетки. | Уменьшите `face_limit` или упростите ввод |
Изображение в 3D-модель
POST /v3/generation/image-to-model
Создайте 3D-модель из изображения.
Параметры запроса
Заголовки запросов
Параметр
Тип
Требуется
По умолчанию
Описание
Content-Type
строка
Да
-
application/json
Authorization
строка
Да
-
Bearer {api_key}
Тело запроса
Параметр
Тип
Требуется
По умолчанию
Описание
input
строка
Да
-
Источник изображения. Принимает токен файла, начинающийся с file_, URL, начинающийся с http(s)://, или задачу ID, начинающуюся с task_.
model
строка
Нет
tripo-v3.1
Версия модели AI. Поддерживаемые значения: tripo-p1, tripo-turbo, tripo-v3.1, tripo-v3.0, tripo-v2.5, tripo-v2.0.
enable_image_autofix
логическое значение
Нет
false
Автоматически улучшать входные изображения низкого качества
texture_alignment
строка
Нет
original_image
Приоритет выравнивания текстур. Поддерживаемые значения: original_image (приоритет соответствия исходному изображению), geometry (приоритет соответствия геометрии).
orientation
строка
Нет
default
Ориентация модели. Поддерживаемые значения: default, align_image (выравнивание по точке обзора входного изображения).
face_limit
целое число
Нет
Адаптивный
Максимальный полисчет для вывода
texture
логическое значение
Нет
true
Включить текстурные карты
pbr
логическое значение
Нет
true
Включите материалы PBR. При включении texture принудительно переключается на true.
texture_seed
целое число
Нет
Случайный
Случайное начальное значение для генерации текстур
texture_quality
строка
Нет
standard
Качество текстур. Поддерживаемые значения: standard, detailed, extreme.
geometry_quality
строка
Нет
standard
Качество геометрии. standard (сбалансированный), detailed (ультрарежим)
auto_size
логическое значение
Нет
false
Автоматически масштабировать модель до реальных размеров в метрах.
quad
логическое значение
Нет
false
Выведите четырехугольную сетку. Если этот параметр включен, формат вывода принудительно устанавливается на FBX.
smart_low_poly
логическое значение
Нет
false
Создайте низкополигональную модель с созданным вручную стилем топологии.
generate_parts
логическое значение
Нет
false
Создавайте редактируемые сегментированные части. Взаимоисключающе с texture=true, pbr=true и quad=true.
compress
строка
Нет
-
Тип сжатия. geometry (сжатие сети)
Следующие параметры действительны только при model >= tripo-v3.0: texture_quality, geometry_quality, auto_size, quad, smart_low_poly, generate_parts, compress.
Примеры запросов
-cmd ">curl -X POST https://openapi.tripo3d.ai/v3/generation/image class="hl-flag">-to-model \
-H "Content-Type : application/json" \
-H "Authorization: Bearer {api_key}" \
-d '{
"input" : "https://example.com/image.png" ,
"model" : "tripo-v3.1" ,
"texture" : true ,
"pbr" : true ,
"texture_quality" : "detailed" }'
import requests
url = "https://openapi.tripo3d.ai/v3/generation/image-to-model"
headers = {
"Content-Type" : "application/json" ,
"Authorization" : "Bearer {api_key}"
}
payload = {
"input" : "https://example.com/image.png" ,
"model" : "tripo-v3.1" ,
"texture" : True,
"pbr" : True,
"texture_quality" : "detailed"
}
response = requests .post(url, headers=headers, json =payload)
print (response.json ())
const url = "https://openapi.tripo3d.ai/v3/generation/image-to-model" ;
const response = await fetch (url, {
method: "POST" ,
headers: {
"Content-Type" : "application/json" ,
"Authorization" : "Bearer {api_key}"
},
body: JSON.stringify({
input: "https://example.com/image.png" ,
model: "tripo-v3.1" ,
texture: true,
pbr: true,
texture_quality: "detailed"
})
});
const data = await response.json ();
console .log(data);
Ответ
Успешный ответ
{
"code" : 0 ,
"data" : {
"task_id" : "task_abc123" }
}
Поля ответа
Параметр
Тип
Описание
code
целое число
Код состояния. 0 указывает на успех.
data.task_id
строка
Уникальный идентификатор задачи, используемый для запроса хода создания и результатов.
Коды ошибок
HTTP Код состояния
Код ошибки
Описание
Рекомендация
429
2000
Превышен лимит генерации
Уменьшите частоту запросов и повторите попытку позже.
400
2002
Неподдерживаемый параметр запроса
Проверьте имена параметров тела запроса и диапазоны значений.
400
2003
Входной файл пуст
Убедитесь, что загруженный файл не пуст или что URL доступен.
400
2004
Неподдерживаемый тип файла
Используйте поддерживаемый формат изображения (PNG, JPEG, WebP)
400
2008
Ввод нарушает политику в отношении контента
Замените входное изображение и удалите контент, нарушающий правила.
403
2010
Недостаточно кредитов
Добавьте кредиты и повторите попытку.
400
2015
Версия модели устарела
Обновите model до поддерживаемой на данный момент версии.
400
2018
Модель слишком сложна для повторного создания сетки.
Уменьшите face_limit или упростите ввод
Предыдущий Текст в 3D-модель — Серия PДалее Изображение в 3D-модель — Серия P