Accéder au contenu
Guide de l’API

Fichiers

Afficher en Markdown Mis à jour

Les modèles qui acceptent des images, de la vidéo ou de l'audio les prennent sous l'une des trois formes suivantes. Chaque page de modèle indique ses paramètres de fichier (par exemple image, images, videos, audios).

1. Une URL publique

Toute URL https:// (ou http://) que le modèle peut télécharger :

JSON
{ "image": "https://example.com/photos/product.jpg" }

Le fichier doit être accessible sans cookie ni connexion et le rester jusqu'au démarrage de la requête. Chaque page de modèle répertorie les limites de taille et de dimensions de ses paramètres de fichier.

2. Un URI de données

Les petits fichiers peuvent être intégrés sous forme d'URI data: de 10 MB maximum :

JSON
{ "image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..." }

Base64 augmente la taille du corps d'environ un tiers par rapport au fichier ; préférez donc les téléversements pour les fichiers volumineux.

3. Un téléversement

Pour les fichiers locaux, demandez une URL de téléversement, envoyez-y les octets avec PUT, puis transmettez au modèle le file_url renvoyé. La création de l'URL de téléversement est gratuite.

1 · Obtenir une URL de téléversement
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 · téléversement
{
  "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 · Téléverser les octets avec exactement les en-têtes renvoyés
curl -X PUT "<upload_url>" -H "Content-Type: image/jpeg" --data-binary @product.jpg
3 · Utiliser file_url comme entrée du modèle
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": "..."}'
  • Téléversements pris en charge : .jpg, .jpeg, .png, .webp (jusqu'à 15 MB) et .mp4, .mov, .webm (jusqu'à 200 MB). L'extension définit le type ; content_type doit lui correspondre.
  • L'URL de téléversement est valide pendant une heure. Le file_url reste valide.
  • Pour l'audio, utilisez une URL publique ou un URI de données.

Fichiers de sortie

Vous choisissez la durée de conservation des fichiers de sortie :

  • Indéfiniment (permanent, par défaut) : jusqu'à leur suppression, pour 100 crédits API (0,10 $) par Go et par mois, facturés une fois par jour sur le solde API (1 Go = 1024³ octets).
  • 7 jours (temporary) : gratuit, puis supprimé de notre stockage.

Définissez la valeur par défaut avec le bouton « Conserver les fichiers indéfiniment » du tableau de bord ou avec PATCH /account/storage, et remplacez-la pour chaque exécution avec ?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"}'

Chaque requête affiche son propre storage (mode, bytes, expires_at, expired). Le réglage s'applique aux nouvelles requêtes ; les fichiers que vous conservez déjà indéfiniment le restent jusqu'à leur suppression avec DELETE /requests/{id}/files (voir Requêtes). Si le solde API ne peut pas payer le stockage, vous recevez un e-mail et disposez de 30 jours pour recharger votre solde avant que les fichiers conservés ne deviennent temporaires.