# Gestión de archivos
## Cargar archivo
> **POST** `/v3/files`
Cargue un archivo a la plataforma Tripo y obtenga un file_token para llamadas posteriores a API.
### Solicitar parámetros
#### Encabezados de solicitud
| Parámetro | Tipo | Requerido | Predeterminado | Descripción |
| :-: | :-: | :-: | :-: | :-: |
| Content-Type | cadena | si | — | `multipart/form-data` |
| Authorization | cadena | si | — | `Bearer {api_key}` |
#### Cuerpo de la solicitud (varias partes/form-data)
| Parámetro | Tipo | Requerido | Predeterminado | Descripción |
| :-: | :-: | :-: | :-: | :-: |
| file | binario | si | — | Datos del archivo. Las imágenes admiten JPEG/PNG, hasta 20 MB. Los modelos admiten GLB/GLTF/FBX/OBJ/STL, hasta 150 MB |
#### Ejemplo de solicitud
##### 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);
```
### Respuesta
#### Respuesta exitosa
```json
{
"code": 0,
"data": {
"file_token": "file_abc123"
}
}
```
#### Campos de respuesta
| Parámetro | Tipo | Descripción |
| :-: | :-: | :-: |
| code | entero | Código de estado. `0` indica éxito |
| data.file_token | cadena | Identificador de archivo único utilizado para llamadas API posteriores |
---
## Obtener credenciales de carga
> **POST** `/v3/files/upload-credentials`
Obtenga credenciales de carga directa (STS) para cargar archivos grandes directamente desde el cliente al almacenamiento en la nube.
### Solicitar parámetros
#### Encabezados de solicitud
| Parámetro | Tipo | Requerido | Predeterminado | Descripción |
| :-: | :-: | :-: | :-: | :-: |
| Content-Type | cadena | si | — | `application/json` |
| Authorization | cadena | si | — | `Bearer {api_key}` |
#### Ejemplo de solicitud
##### 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);
```
### Respuesta
#### Respuesta exitosa
```json
{
"code": 0,
"data": {
"file_token": "file_abc123",
"upload_url": "https://storage.example.com/upload/...",
"expires_at": "2025-01-01T01:00:00Z"
}
}
```
#### Campos de respuesta
| Parámetro | Tipo | Descripción |
| :-: | :-: | :-: |
| code | entero | Código de estado. `0` indica éxito |
| data.file_token | cadena | Identificador de archivo único |
| data.upload_url | cadena | Carga prefirmada URL. El cliente carga el archivo directamente con PUT |
| data.expires_at | cadena | Hora de vencimiento de la credencial (ISO 8601) |
Gestión de archivos
Cargar archivo
POST /v3/files
Cargue un archivo a la plataforma Tripo y obtenga un file_token para llamadas posteriores a API.
Solicitar parámetros
Encabezados de solicitud
| Parámetro |
Tipo |
Requerido |
Predeterminado |
Descripción |
| Content-Type |
cadena |
si |
— |
multipart/form-data |
| Authorization |
cadena |
si |
— |
Bearer {api_key} |
Cuerpo de la solicitud (varias partes/form-data)
| Parámetro |
Tipo |
Requerido |
Predeterminado |
Descripción |
| file |
binario |
si |
— |
Datos del archivo. Las imágenes admiten JPEG/PNG, hasta 20 MB. Los modelos admiten GLB/GLTF/FBX/OBJ/STL, hasta 150 MB |
Ejemplo de solicitud
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);
Respuesta
Respuesta exitosa
{
"code": 0,
"data": {
"file_token": "file_abc123"
}
}
Campos de respuesta
| Parámetro |
Tipo |
Descripción |
| code |
entero |
Código de estado. 0 indica éxito |
| data.file_token |
cadena |
Identificador de archivo único utilizado para llamadas API posteriores |
Obtener credenciales de carga
POST /v3/files/upload-credentials
Obtenga credenciales de carga directa (STS) para cargar archivos grandes directamente desde el cliente al almacenamiento en la nube.
Solicitar parámetros
Encabezados de solicitud
| Parámetro |
Tipo |
Requerido |
Predeterminado |
Descripción |
| Content-Type |
cadena |
si |
— |
application/json |
| Authorization |
cadena |
si |
— |
Bearer {api_key} |
Ejemplo de solicitud
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);
Respuesta
Respuesta exitosa
{
"code": 0,
"data": {
"file_token": "file_abc123",
"upload_url": "https://storage.example.com/upload/...",
"expires_at": "2025-01-01T01:00:00Z"
}
}
Campos de respuesta
| Parámetro |
Tipo |
Descripción |
| code |
entero |
Código de estado. 0 indica éxito |
| data.file_token |
cadena |
Identificador de archivo único |
| data.upload_url |
cadena |
Carga prefirmada URL. El cliente carga el archivo directamente con PUT |
| data.expires_at |
cadena |
Hora de vencimiento de la credencial (ISO 8601) |