DrawNew.comDrawNew.com

Référence API

POST /api/v1/generate · GET /api/v1/tasks

Points d'accès publics pour les intégrations par lots et les agents. Authentifiez-vous avec la clé API déjà attribuée à votre compte — aucun jeton séparé requis.

Authentification

Incluez votre clé API dans l'en-tête Authorization. La clé est la même que celle attribuée à votre compte dans user_keys (fournie par DrawNew après activation de votre forfait). Une mauvaise clé renvoie 401.

HEADER
Authorization: Bearer <your_api_key>
401 RESPONSE
{ "error": { "type": "invalid_api_key", "message": "Invalid API key" } }
POST/api/v1/generate

Créer une tâche de génération

Soumet la tâche au fournisseur d'amont et renvoie immédiatement des task_ids. Pour obtenir l'image résultante, vous pouvez soit (A) interroger vous-même GET /v1/tasks/:id, soit (B) simplement ouvrir le site web — l'onglet Création d'image du même compte reprendra automatiquement la tâche et persistera les résultats dans « Mes Œuvres ».

Requête

curl -X POST https://www.drawnew.com/api/v1/generate \
  -H "Authorization: Bearer <your_api_key>" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "A serene Japanese garden in autumn",
    "model": "flash",
    "mode": "text",
    "aspect": "16:9",
    "imageSize": "2K",
    "count": 1
  }'

Réponse

{
  "task_ids": ["task_abc123"],
  "email": "you@example.com"
}

Paramètres du body

ChampTypeRequisPar défautDescription
promptstringPrompt de génération
modelstringgpt-image-2ID du modèle (voir ci-dessous)
modetext | edit | fusiontexttext=texte en image ; edit=édition d'image unique ; fusion=fusion multi-images
aspectstring1:1Ratio : 1:1, 2:3, 3:2, 3:4, 4:3, 9:16, 16:9, 21:9, …
imageSize1K | 2K | 4K2KRésolution de sortie
countnumber1Nombre d'images (limité par modèle)
imageUrlsstring[][]URLs d'images de référence pour edit / fusion

Modèles disponibles

modelNomModes pris en charge
gpt-image-2GPT Image 2text, edit
proNano Banana Protext, edit
flash2Nano Banana 2text, edit
flashNano Bananatext, edit

Erreurs

HTTPerror.typeQuand
400invalid_requestLe body n'est pas JSON, le prompt est vide, modèle inconnu ou le modèle ne supporte pas le mode
401unauthorizedEn-tête Authorization manquant ou mauvais format
401invalid_api_keyClé API introuvable dans user_keys
403no_creditsQuota mensuel épuisé. Mettez à jour votre offre sur https://drawnew.com/pricing
GET/api/v1/tasks/{task_id}

Interroger une seule tâche

Renvoie le statut de la tâche en amont. status est l'un de queued / in_progress / completed / failed. completed ajoute un champ imageUrl ; failed ajoute un champ error.

Requête

curl https://www.drawnew.com/api/v1/tasks/task_abc123 \
  -H "Authorization: Bearer <your_api_key>"

Réponse

{
  "task_id": "task_abc123",
  "status": "completed",
  "progress": 100,
  "imageUrl": "https://files.example.com/generated/xxx.png"
}
GET/api/v1/tasks?ids=t1,t2

Interroger plusieurs tâches

Interroge plusieurs tâches en un seul appel pour économiser les allers-retours et les recherches d'authentification. Les résultats sont renvoyés dans le même ordre que les ids en entrée. Maximum 20 ids par requête.

Requête

curl "https://www.drawnew.com/api/v1/tasks?ids=task_abc,task_def,task_ghi" \
  -H "Authorization: Bearer <your_api_key>"

Réponse

{
  "tasks": [
    { "task_id": "task_abc", "status": "completed", "progress": 100, "imageUrl": "https://..." },
    { "task_id": "task_def", "status": "in_progress", "progress": 60 },
    { "task_id": "task_ghi", "status": "failed", "progress": 0, "error": "model overloaded" }
  ]
}

Erreurs d'interrogation

HTTPerror.typeQuand
400invalid_requestParamètre ids manquant, ou plus de 20 ids
401unauthorizedEn-tête Authorization manquant ou mauvais format
401invalid_api_keyClé API introuvable dans user_keys
POST/api/v1/upload

Télécharger une image de référence (pour edit / fusion)

Le serveur récupère une image depuis une URL publique et la re-héberge sur le CDN amont, renvoyant une URL stable. Passez le résultat à generate_image's imageUrls. Maximum 25 Mo par image ; png / jpeg / webp / gif / bmp acceptés.

Requête

curl -X POST https://www.drawnew.com/api/v1/upload \
  -H "Authorization: Bearer <your_api_key>" \
  -H "Content-Type: application/json" \
  -d '{"source_url": "https://example.com/cat.png"}'

Réponse

{
  "url": "https://files.example.com/uploads/abc123.png",
  "filename": "cat.png",
  "content_type": "image/png",
  "bytes": 524288
}
GET/api/v1/history?page=1&limit=20

Lister l'historique de génération du compte

Renvoie les générations passées attribuées à cette clé API, les plus récentes en premier. Pagination via page (indexée à 1) et limit (maximum 50).

Requête

curl "https://www.drawnew.com/api/v1/history?page=1&limit=20" \
  -H "Authorization: Bearer <your_api_key>"

Réponse

{
  "items": [
    {
      "id": "tsk_img_xxx",
      "prompt": "a cat in autumn",
      "model": "flash",
      "mode": "text",
      "aspect": "16:9",
      "imageSize": "2K",
      "imageCount": 1,
      "images": ["https://..."],
      "refs": [],
      "createdAt": 1777461252000
    }
  ],
  "total": 42,
  "page": 1,
  "limit": 20,
  "total_pages": 3
}
GET/api/v1/user/status

Obtenir le niveau / statut du compte

Renvoie l'e-mail, le niveau (trial / starter / standard / pro) et si la clé amont est configurée. Utile aux agents pour décider s'ils peuvent se permettre un modèle à coût élevé.

Requête

curl https://www.drawnew.com/api/v1/user/status \
  -H "Authorization: Bearer <your_api_key>"

Réponse

{
  "email": "you@example.com",
  "tier": "pro",
  "has_key": true
}

Utilisation via MCP (Claude Desktop / Cursor / Cline)

Pour les agents LLM, le moyen le plus simple d'utiliser DrawNew est via le serveur MCP officiel publié sous @drawnew/mcp-server sur npm. Il expose 6 outils (generate_image, get_task, batch_get_tasks, upload_reference_image, list_my_generations, get_account_status) via stdio et fonctionne avec n'importe quel client compatible MCP. Ajoutez l'extrait ci-dessous à la configuration MCP de votre client — c'est tout.

Configuration Claude Desktop

Chemin : ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) · %APPDATA%\Claude\claude_desktop_config.json (Windows)

{
  "mcpServers": {
    "drawnew": {
      "command": "npx",
      "args": ["-y", "@drawnew/mcp-server"],
      "env": {
        "DRAWNEW_API_KEY": "<your_api_key>"
      }
    }
  }
}

Notes

  • Les résultats sont automatiquement attribués au compte qui possède cette clé API — la tâche soumise est enregistrée dans pending_tasks ; lorsque le même compte ouvre ensuite l'onglet Création d'image du site web, le frontend prend le relais de l'interrogation, persiste les résultats dans generations / generation_images, et ils apparaissent sous « Mes Œuvres » et la bibliothèque de ressources. Si vous voulez du pure fire-and-forget sans apparaître dans l'interface, utilisez un compte d'appel dédié.
  • Contrôle de crédits côté serveur — si votre quota mensuel est épuisé, l'API renvoie HTTP 403 avec error.type=no_credits.
  • Intervalle d'interrogation recommandé : 2 à 5 secondes. L'endpoint par lots accepte au maximum 20 ids par appel.
  • N'insérez jamais votre clé API dans du code côté client. Utilisez-la uniquement depuis votre propre backend.
© 2026 DrawNew.com. All rights reserved.