DrawNew.comDrawNew.com

Dokumentacja API

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

Publiczne endointy do integracji wsadowych i z agentami. Uwierzytelniaj za pomocą klucza API już wydanego dla Twojego konta — nie jest wymagany osobny token.

Uwierzytelnianie

Dołącz swój klucz API w nagłówku Authorization. Klucz to ten sam, który został przypisany do Twojego konta w user_keys (dostarczany przez DrawNew po aktywacji planu). Zły klucz zwraca 401.

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

Tworzenie zadania generacji

Wysyła zadanie do upstreamowego dostawcy obrazów i natychmiast zwraca task_ids. Aby uzyskać wynikowy obraz, możesz (A) odpytywać GET /v1/tasks/:id samodzielnie, lub (B) po prostu otworzyć stronę — ta sama karta Tworzenia obrazów automatycznie przejmie zadanie i zapisze wyniki w „Moje Dzieła".

Żądanie

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
  }'

Odpowiedź

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

Parametry body

PoleTypWymaganeDomyślneOpis
promptstringPrompt generacji
modelstringgpt-image-2ID modelu (patrz poniżej)
modetext | edit | fusiontexttext=tekst na obraz; edit=edycja pojedynczego obrazu; fusion=fuzja wielu obrazów
aspectstring1:1Proporcje: 1:1, 2:3, 3:2, 3:4, 4:3, 9:16, 16:9, 21:9, …
imageSize1K | 2K | 4K2KRozdzielczość wyjściowa
countnumber1Liczba obrazów (ograniczona przez model)
imageUrlsstring[][]URL obrazów referencyjnych dla edit / fusion

Dostępne modele

modelNazwaObsługiwane tryby
gpt-image-2GPT Image 2text, edit
proNano Banana Protext, edit
flash2Nano Banana 2text, edit
flashNano Bananatext, edit

Błędy

HTTPerror.typeKiedy
400invalid_requestBody nie jest JSON, prompt jest pusty, model nieznany lub model nie obsługuje trybu
401unauthorizedBrak nagłówka Authorization lub zły format
401invalid_api_keyKlucz API nie znaleziony w user_keys
403no_creditsMiesięczny limit wyczerpany. Zaktualizuj plan na https://drawnew.com/pricing
GET/api/v1/tasks/{task_id}

Odpytywanie pojedynczego zadania

Zwraca status zadania upstream. Status to jeden z: queued / in_progress / completed / failed. completed dodaje pole imageUrl; failed dodaje pole error.

Żądanie

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

Odpowiedź

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

Odpytywanie wielu zadań

Odpytuje wiele zadań w jednym wywołaniu, aby zaoszczędzić rundy i wyszukiwania uwierzytelniania. Wyniki są zwracane w tej samej kolejności co dane wejściowe id. Maksymalnie 20 id na żądanie.

Żądanie

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

Odpowiedź

{
  "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" }
  ]
}

Błędy odpytywania

HTTPerror.typeKiedy
400invalid_requestBrak parametru ids lub więcej niż 20 ids
401unauthorizedBrak nagłówka Authorization lub zły format
401invalid_api_keyKlucz API nie znaleziony w user_keys
POST/api/v1/upload

Przesyłanie obrazu referencyjnego (dla edit / fusion)

Serwerowe pobieranie obrazu z publicznego URL i jego ponowne hostowanie na CDN upstream, zwracając stabilny URL. Przekaż wynik do imageUrls generate_image. Maksymalnie 25 MB na obraz; akceptowane png / jpeg / webp / gif / bmp.

Żądanie

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"}'

Odpowiedź

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

Lista historii generacji konta

Zwraca poprzednie generacje przypisane do tego klucza API, od najnowszych do najstarszych. Paginacja przez page (indeksowane od 1) i limit (maks. 50).

Żądanie

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

Odpowiedź

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

Pobieranie poziomu/statusu konta

Zwraca e-mail, poziom (trial / starter / standard / pro) oraz czy klucz upstream jest skonfigurowany. Przydatne dla agentów do decydowania, czy mogą sobie pozwolić na drogi model.

Żądanie

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

Odpowiedź

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

Użycie przez MCP (Claude Desktop / Cursor / Cline)

Dla agentów LLM najprostszym sposobem korzystania z DrawNew jest oficjalny serwer MCP opublikowany jako @drawnew/mcp-server na npm. Udostępnia 6 narzędzi (generate_image, get_task, batch_get_tasks, upload_reference_image, list_my_generations, get_account_status) przez stdio i współpracuje z każdym klientem kompatybilnym z MCP. Dodaj poniższy fragment do konfiguracji MCP swojego klienta — to wszystko.

Konfiguracja Claude Desktop

Ścieżka: ~/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>"
      }
    }
  }
}

Uwagi

  • Wyniki są automatycznie przypisywane do konta posiadającego ten klucz API — przesłane zadanie jest rejestrowane w pending_tasks; gdy to samo konto następnym razem otworzy kartę Tworzenia obrazów na stronie, frontend przejmuje odpytywanie, zapisuje wyniki w generations / generation_images i pojawiają się w „Moje Dzieła" i bibliotece zasobów. Jeśli potrzebujesz czystego fire-and-forget bez wyświetlania w interfejsie, wyznacz osobne konto wywołań.
  • Sprawdzanie kredytów po stronie serwera — jeśli wyczerpałeś miesięczny limit, API zwraca HTTP 403 z error.type=no_credits.
  • Zalecany interwał odpytywania: 2–5 sekund. Endpoint wsadowy przyjmuje maksymalnie 20 id na wywołanie.
  • Nigdy nie umieszczaj klucza API w kodzie klienckiego. Używaj go wyłącznie z własnego backendu.
© 2026 DrawNew.com. All rights reserved.