# Управление файлами
## Загрузить файл
> **POST** `/v3/files`
Загрузите файл на платформу Tripo и получите file_token для последующих вызовов API.
### Параметры запроса
#### Заголовки запросов
| Параметр | Тип | Требуется | По умолчанию | Описание |
| :-: | :-: | :-: | :-: | :-: |
| Content-Type | строка | Да | — | `multipart/form-data` |
| Authorization | строка | Да | — | `Bearer {api_key}` |
#### Тело запроса (multipart/form-data)
| Параметр | Тип | Требуется | По умолчанию | Описание |
| :-: | :-: | :-: | :-: | :-: |
| file | двоичный | Да | — | Данные файла. Изображения поддерживают JPEG/PNG, до 20 MB. Модели поддерживают GLB/GLTF/FBX/OBJ/STL, до 150 MB. |
#### Пример запроса
##### curl
```bash
curl -X POST https://openapi.tripo3d.ai/v3/files \
-H "Authorization: Bearer {api_key}" \
-F "file=@/path/to/model.glb"
```
##### Python
```python
import requests
url = "https://openapi.tripo3d.ai/v3/files"
headers = {
"Authorization": "Bearer {api_key}"
}
files = {
"file": open("/path/to/model.glb", "rb")
}
response = requests.post(url, headers=headers, files=files)
print(response.json())
```
##### JavaScript
```javascript
const url = "https://openapi.tripo3d.ai/v3/files";
const formData = new FormData();
formData.append("file", fileBlob, "model.glb");
const response = await fetch(url, {
method: "POST",
headers: {
"Authorization": "Bearer {api_key}"
},
body: formData
});
const data = await response.json();
console.log(data);
```
### Ответ
#### Успешный ответ
```json
{
"code": 0,
"data": {
"file_token": "file_abc123"
}
}
```
#### Поля ответа
| Параметр | Тип | Описание |
| :-: | :-: | :-: |
| code | целое число | Код состояния. `0` указывает на успех. |
| data.file_token | строка | Уникальный идентификатор файла, используемый для последующих вызовов API. |
---
## Получить учетные данные для загрузки
> **POST** `/v3/files/upload-credentials`
Получите учетные данные для прямой загрузки (STS) для загрузки больших файлов непосредственно из клиента в облачное хранилище.
### Параметры запроса
#### Заголовки запросов
| Параметр | Тип | Требуется | По умолчанию | Описание |
| :-: | :-: | :-: | :-: | :-: |
| Content-Type | строка | Да | — | `application/json` |
| Authorization | строка | Да | — | `Bearer {api_key}` |
#### Пример запроса
##### curl
```bash
curl -X POST https://openapi.tripo3d.ai/v3/files/upload-credentials \
-H "Content-Type: application/json" \
-H "Authorization: Bearer {api_key}"
```
##### Python
```python
import requests
url = "https://openapi.tripo3d.ai/v3/files/upload-credentials"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer {api_key}"
}
response = requests.post(url, headers=headers)
print(response.json())
```
##### JavaScript
```javascript
const url = "https://openapi.tripo3d.ai/v3/files/upload-credentials";
const response = await fetch(url, {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer {api_key}"
}
});
const data = await response.json();
console.log(data);
```
### Ответ
#### Успешный ответ
```json
{
"code": 0,
"data": {
"file_token": "file_abc123",
"upload_url": "https://storage.example.com/upload/...",
"expires_at": "2025-01-01T01:00:00Z"
}
}
```
#### Поля ответа
| Параметр | Тип | Описание |
| :-: | :-: | :-: |
| code | целое число | Код состояния. `0` указывает на успех. |
| data.file_token | строка | Уникальный идентификатор файла |
| data.upload_url | строка | Предустановленная загрузка URL. Клиент загружает файл напрямую с помощью PUT. |
| data.expires_at | строка | Срок действия учетных данных (ISO 8601) |
Управление файлами
Загрузить файл
POST /v3/files
Загрузите файл на платформу Tripo и получите file_token для последующих вызовов API.
Параметры запроса
Заголовки запросов
| Параметр |
Тип |
Требуется |
По умолчанию |
Описание |
| Content-Type |
строка |
Да |
— |
multipart/form-data |
| Authorization |
строка |
Да |
— |
Bearer {api_key} |
Тело запроса (multipart/form-data)
| Параметр |
Тип |
Требуется |
По умолчанию |
Описание |
| file |
двоичный |
Да |
— |
Данные файла. Изображения поддерживают JPEG/PNG, до 20 MB. Модели поддерживают GLB/GLTF/FBX/OBJ/STL, до 150 MB. |
Пример запроса
curl -X POST https://openapi.tripo3d.ai/v3/files \
-H "Authorization: Bearer {api_key}" \
-F "file=@/path/to/model.glb"
import requests
url = "https://openapi.tripo3d.ai/v3/files"
headers = {
"Authorization": "Bearer {api_key}"
}
files = {
"file": open("/path/to/model.glb", "rb")
}
response = requests.post(url, headers=headers, files=files)
print(response.json())
const url = "https://openapi.tripo3d.ai/v3/files";
const formData = new FormData();
formData.append("file", fileBlob, "model.glb");
const response = await fetch(url, {
method: "POST",
headers: {
"Authorization": "Bearer {api_key}"
},
body: formData
});
const data = await response.json();
console.log(data);
Ответ
Успешный ответ
{
"code": 0,
"data": {
"file_token": "file_abc123"
}
}
Поля ответа
| Параметр |
Тип |
Описание |
| code |
целое число |
Код состояния. 0 указывает на успех. |
| data.file_token |
строка |
Уникальный идентификатор файла, используемый для последующих вызовов API. |
Получить учетные данные для загрузки
POST /v3/files/upload-credentials
Получите учетные данные для прямой загрузки (STS) для загрузки больших файлов непосредственно из клиента в облачное хранилище.
Параметры запроса
Заголовки запросов
| Параметр |
Тип |
Требуется |
По умолчанию |
Описание |
| Content-Type |
строка |
Да |
— |
application/json |
| Authorization |
строка |
Да |
— |
Bearer {api_key} |
Пример запроса
curl -X POST https://openapi.tripo3d.ai/v3/files/upload-credentials \
-H "Content-Type: application/json" \
-H "Authorization: Bearer {api_key}"
import requests
url = "https://openapi.tripo3d.ai/v3/files/upload-credentials"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer {api_key}"
}
response = requests.post(url, headers=headers)
print(response.json())
const url = "https://openapi.tripo3d.ai/v3/files/upload-credentials";
const response = await fetch(url, {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer {api_key}"
}
});
const data = await response.json();
console.log(data);
Ответ
Успешный ответ
{
"code": 0,
"data": {
"file_token": "file_abc123",
"upload_url": "https://storage.example.com/upload/...",
"expires_at": "2025-01-01T01:00:00Z"
}
}
Поля ответа
| Параметр |
Тип |
Описание |
| code |
целое число |
Код состояния. 0 указывает на успех. |
| data.file_token |
строка |
Уникальный идентификатор файла |
| data.upload_url |
строка |
Предустановленная загрузка URL. Клиент загружает файл напрямую с помощью PUT. |
| data.expires_at |
строка |
Срок действия учетных данных (ISO 8601) |