# Загрузка файлов (большие файлы)

Создайте заранее подготовленную загрузку URL, чтобы большие файлы можно было загружать непосредственно в хранилище с помощью HTTP `PUT`.

Используйте этот процесс для больших 3D-моделей или изображений, когда загрузка нескольких частей менее эффективна. Для файлов меньшего размера также доступна стандартная конечная точка загрузки файлов.

## Конечная точка

```http
POST /v3/files/presign
```

## Процесс загрузки

1. Вызовите `POST /v3/files/presign` с помощью файла `format`.
2. Загрузите байты файла в `presigned_url` с помощью HTTP `PUT`.
3. Используйте возвращенный `file_token` как `input` в последующих вызовах API, таких как импорт модели, ретопология, преобразование модели или изображение в 3D-модель.

## Тело запроса

| Поле | Тип | Требуется | Описание |
| --- | --- | --- | --- |
| `format` | строка | требуется | Расширение файла без начальной точки, например `glb`, `fbx`, `png` или `webp`. |

## Поля ответа

| Поле | Тип | Описание |
| --- | --- | --- |
| `presigned_url` | строка | Временный HTTP `PUT` URL, действителен в течение 30 минут. |
| `file_token` | строка | Токен ссылки на файл, который будет использоваться после завершения загрузки. |
| `expires_in` | целое число | Время жизни URL в секундах. Фиксированное значение `1800`. |

## curl Пример

```bash
curl -s -X POST https://openapi.tripo3d.ai/v3/files/presign \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"format":"glb"}'

curl -X PUT \
  -H "Content-Type: application/octet-stream" \
  -T model.glb \
  "<presigned_url>"
```

Не добавляйте заголовок Tripo `Authorization` к запросу хранилища `PUT`.
