Gerenciamento de arquivos
# Gerenciamento de arquivos
## Carregar arquivo
> **POST** `/v3/files`
Faça upload de um arquivo para a plataforma Tripo e obtenha um file_token para chamadas API subsequentes.
### Parâmetros de solicitação
#### Solicitar cabeçalhos
| Parâmetro | Tipo | Obrigatório | Padrão | Descrição |
| :-: | :-: | :-: | :-: | :-: |
| Content-Type | cadeia | Sim | - | `multipart/form-data` |
| Authorization | cadeia | Sim | - | `Bearer {api_key}` |
#### Corpo da solicitação (multipart/form-data)
| Parâmetro | Tipo | Obrigatório | Padrão | Descrição |
| :-: | :-: | :-: | :-: | :-: |
| file | binário | Sim | - | Dados do arquivo. As imagens suportam JPEG/PNG, até 20 MB. Os modelos suportam GLB/GLTF/FBX/OBJ/STL, até 150 MB |
#### Exemplo de solicitação
##### 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);
```
### Resposta
#### Resposta bem sucedida
```json
{
"code": 0,
"data": {
"file_token": "file_abc123"
}
}
```
#### Campos de resposta
| Parâmetro | Tipo | Descrição |
| :-: | :-: | :-: |
| code | inteiro | Código de status. `0` indica sucesso |
| data.file_token | cadeia | Identificador de arquivo exclusivo usado para chamadas API subsequentes |
---
## Obtenha credenciais de upload
> **POST** `/v3/files/upload-credentials`
Obtenha credenciais de upload direto (STS) para fazer upload de arquivos grandes diretamente do cliente para armazenamento em nuvem.
### Parâmetros de solicitação
#### Solicitar cabeçalhos
| Parâmetro | Tipo | Obrigatório | Padrão | Descrição |
| :-: | :-: | :-: | :-: | :-: |
| Content-Type | cadeia | Sim | - | `application/json` |
| Authorization | cadeia | Sim | - | `Bearer {api_key}` |
#### Exemplo de solicitação
##### 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);
```
### Resposta
#### Resposta bem sucedida
```json
{
"code": 0,
"data": {
"file_token": "file_abc123",
"upload_url": "https://storage.example.com/upload/...",
"expires_at": "2025-01-01T01:00:00Z"
}
}
```
#### Campos de resposta
| Parâmetro | Tipo | Descrição |
| :-: | :-: | :-: |
| code | inteiro | Código de status. `0` indica sucesso |
| data.file_token | cadeia | Identificador exclusivo de arquivo |
| data.upload_url | cadeia | Carregamento pré-assinado URL. O cliente carrega o arquivo diretamente com PUT |
| data.expires_at | cadeia | Tempo de expiração da credencial (ISO 8601) |
Gerenciamento de arquivos
Carregar arquivo
POST /v3/files
Faça upload de um arquivo para a plataforma Tripo e obtenha um file_token para chamadas API subsequentes.
Parâmetros de solicitação
Solicitar cabeçalhos
| Parâmetro |
Tipo |
Obrigatório |
Padrão |
Descrição |
| Content-Type |
cadeia |
Sim |
- |
multipart/form-data |
| Authorization |
cadeia |
Sim |
- |
Bearer {api_key} |
Corpo da solicitação (multipart/form-data)
| Parâmetro |
Tipo |
Obrigatório |
Padrão |
Descrição |
| file |
binário |
Sim |
- |
Dados do arquivo. As imagens suportam JPEG/PNG, até 20 MB. Os modelos suportam GLB/GLTF/FBX/OBJ/STL, até 150 MB |
Exemplo de solicitação
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);
Resposta
Resposta bem sucedida
{
"code": 0,
"data": {
"file_token": "file_abc123"
}
}
Campos de resposta
| Parâmetro |
Tipo |
Descrição |
| code |
inteiro |
Código de status. 0 indica sucesso |
| data.file_token |
cadeia |
Identificador de arquivo exclusivo usado para chamadas API subsequentes |
Obtenha credenciais de upload
POST /v3/files/upload-credentials
Obtenha credenciais de upload direto (STS) para fazer upload de arquivos grandes diretamente do cliente para armazenamento em nuvem.
Parâmetros de solicitação
Solicitar cabeçalhos
| Parâmetro |
Tipo |
Obrigatório |
Padrão |
Descrição |
| Content-Type |
cadeia |
Sim |
- |
application/json |
| Authorization |
cadeia |
Sim |
- |
Bearer {api_key} |
Exemplo de solicitação
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);
Resposta
Resposta bem sucedida
{
"code": 0,
"data": {
"file_token": "file_abc123",
"upload_url": "https://storage.example.com/upload/...",
"expires_at": "2025-01-01T01:00:00Z"
}
}
Campos de resposta
| Parâmetro |
Tipo |
Descrição |
| code |
inteiro |
Código de status. 0 indica sucesso |
| data.file_token |
cadeia |
Identificador exclusivo de arquivo |
| data.upload_url |
cadeia |
Carregamento pré-assinado URL. O cliente carrega o arquivo diretamente com PUT |
| data.expires_at |
cadeia |
Tempo de expiração da credencial (ISO 8601) |