# Upload de arquivo (arquivos grandes)

Crie um upload pré-assinado URL para que arquivos grandes possam ser carregados diretamente para o armazenamento com HTTP `PUT`.

Use esse fluxo para modelos ou imagens 3D grandes quando o multipart upload for menos eficiente. Para arquivos menores, o endpoint padrão de upload de arquivos também está disponível.

## Ponto final

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

## Fluxo de upload

1. Chame `POST /v3/files/presign` com o arquivo `format`.
2. Carregue os bytes do arquivo para `presigned_url` com HTTP `PUT`.
3. Use o `file_token` retornado como `input` em chamadas API posteriores, como Importar modelo, Retopologia, Converter modelo ou Imagem em modelo 3D.

## Corpo da Solicitação

| Campo | Tipo | Obrigatório | Descrição |
| --- | --- | --- | --- |
| `format` | cadeia | obrigatório | Extensão de arquivo sem ponto inicial, como `glb`, `fbx`, `png` ou `webp`. |

## Campos de resposta

| Campo | Tipo | Descrição |
| --- | --- | --- |
| `presigned_url` | cadeia | HTTP `PUT` URL temporário, válido por 30 minutos. |
| `file_token` | cadeia | Token de referência de arquivo a ser usado após a conclusão do upload. |
| `expires_in` | inteiro | Vida útil de URL em segundos. Fixo em `1800`. |

## Exemplo 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>"
```

Não inclua o cabeçalho Tripo `Authorization` na solicitação de armazenamento `PUT`.
