Ir para o conteúdo
Guia da API

Arquivos

Ver como Markdown Atualizado

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:

JSON
{ "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:

JSON
{ "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.

1 · Obter uma URL de upload
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}'
201 Created · upload
{
  "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
}
2 · Fazer upload dos bytes com exatamente os cabeçalhos retornados
curl -X PUT "<upload_url>" -H "Content-Type: image/jpeg" --data-binary @product.jpg
3 · Usar file_url como entrada do modelo
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_type deve corresponder a ela.
  • A URL de upload é válida por uma hora. O file_url permanece 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):

terminal
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.