File
I modelli che accettano immagini, video o audio li supportano in tre formati. Ogni pagina del modello indica i relativi parametri
file (ad esempio image, images, videos, audios).
1. Un URL pubblico
Qualsiasi URL https:// (o http://) che il modello possa scaricare:
{ "image": "https://example.com/photos/product.jpg" }
Il file deve essere raggiungibile senza cookie o accesso e restare raggiungibile fino all'avvio della richiesta. Ogni pagina del modello elenca i limiti di dimensione e risoluzione dei relativi parametri file.
2. Un URI dati
I file piccoli possono essere inclusi come URI data: fino a 10 MB:
{ "image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..." }
Base64 rende il corpo circa un terzo più grande del file, quindi preferisci gli upload per qualsiasi file di grandi dimensioni.
3. Un upload
Per i file locali, richiedi un URL di upload, esegui PUT dei byte su quell'URL e passa al modello il file_url restituito.
La creazione dell'URL di upload è gratuita.
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": "..."}'
- Upload supportati:
.jpg,.jpeg,.png,.webp(fino a 15 MB) e.mp4,.mov,.webm(fino a 200 MB). L'estensione imposta il tipo;content_typedeve corrispondere. - L'URL di upload è valido per un'ora. Il
file_urlresta valido. - Per l'audio, usa un URL pubblico o un URI dati.
File di output
Scegli tu per quanto tempo conservare i file di output:
- Per sempre (
permanent, il predefinito): fino a quando li elimini, per 100 crediti API (0,10 $) per GB al mese, addebitati una volta al giorno dal saldo API (1 GB = 1024³ byte). - 7 giorni (
temporary): gratuito, poi eliminato dalla nostra archiviazione.
Imposta il valore predefinito con l'interruttore "Conserva i file per sempre" nella dashboard o con
PATCH /account/storage, e sostituiscilo per ogni esecuzione con ?storage=temporary (o 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"}'
Ogni richiesta mostra il proprio storage (mode, bytes, expires_at, expired). L'impostazione si applica alle nuove richieste;
i file che conservi già per sempre restano tali finché non li elimini con DELETE /requests/{id}/files (vedi
Richieste). Se il saldo API non può pagare l'archiviazione, ricevi un'email
e hai 30 giorni per effettuare una ricarica prima che i file conservati diventino temporanei.