Arquivos
Modelos que aceitam imagens, vídeo ou áudio aceitam esses arquivos em qualquer uma de três formas. Cada página de modelo identifica seus parâmetros de arquivo (por exemplo, image, images, videos, audios).
1. Uma URL pública
Qualquer URL https:// (ou http://) que o modelo possa baixar:
{ "image": "https://example.com/photos/product.jpg" }
O arquivo deve estar acessível sem cookies ou login e continuar acessível até o início da requisição. Cada página de modelo lista os limites de tamanho e dimensões de seus parâmetros de arquivo.
2. Uma URI de dados
Arquivos pequenos podem ser enviados em linha como uma URI data: de até 10 MB:
{ "image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..." }
O Base64 torna o corpo cerca de um terço maior que o arquivo, portanto prefira uploads para qualquer arquivo grande.
3. Um upload
Para arquivos locais, solicite uma URL de upload, faça PUT dos bytes nela e passe o file_url retornado ao modelo. Criar a URL de upload é grátis.
curl -X POST "https://api.doitong.com/v1/files" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{"filename": "product.jpg", "content_type": "image/jpeg", "size": 482113}'
{
"object": "upload",
"upload_url": "https://…signed upload URL…",
"file_url": "https://content.doitong.com/…/product.jpg",
"method": "PUT",
"headers": { "Content-Type": "image/jpeg" },
"content_type": "image/jpeg",
"expires_in": 3600,
"max_bytes": 15728640
}
curl -X PUT "<upload_url>" -H "Content-Type: image/jpeg" --data-binary @product.jpg
curl -X POST "https://api.doitong.com/v1/run/{model_id}?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{"image": "https://content.doitong.com/…/product.jpg", "prompt": "..."}'
- Uploads compatíveis:
.jpg,.jpeg,.png,.webp(até 15 MB) e.mp4,.mov,.webm(até 200 MB). A extensão define o tipo;content_typedeve corresponder a ela. - A URL de upload é válida por uma hora. O
file_urlpermanece válido. - Para áudio, use uma URL pública ou uma URI de dados.
Arquivos de saída
Você escolhe por quanto tempo os arquivos de saída são mantidos:
- Para sempre (
permanent, o padrão): até você excluí-los, por 100 créditos de API ($ 0,10) por GB por mês, cobrados uma vez por dia do saldo de API (1 GB = 1024³ bytes). - 7 dias (
temporary): grátis, depois excluídos do nosso armazenamento.
Defina o padrão com a chave "Manter arquivos para sempre" no dashboard ou com PATCH /account/storage, e substitua por execução com ?storage=temporary (ou permanent):
curl -X PATCH "https://api.doitong.com/v1/account/storage" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{"mode": "temporary"}'
Cada requisição mostra seu próprio storage (mode, bytes, expires_at, expired). A configuração se aplica a novas requisições; os arquivos que você já mantém para sempre permanecem até serem excluídos com DELETE /requests/{id}/files (consulte Requisições). Se o saldo de API não puder pagar pelo armazenamento, você receberá um e-mail e terá 30 dias para fazer uma recarga antes que os arquivos mantidos se tornem temporários.