DrawNew.comDrawNew.com

Referensi API

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

Endpoint publik untuk integrasi batch dan agen. Autentikasikan dengan API key yang telah diterbitkan untuk akun Anda — tidak perlu token terpisah.

Autentikasi

Sertakan API key Anda di header Authorization. Kunci tersebut adalah kunci yang sama yang ditetapkan ke akun Anda di user_keys (disediakan oleh DrawNew setelah paket Anda diaktifkan). Kunci yang salah mengembalikan 401.

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

Buat tugas pembuatan

Mengirimkan tugas ke penyedia gambar upstream dan segera mengembalikan task_ids. Untuk mendapatkan gambar hasil, Anda bisa (A) polling GET /v1/tasks/:id sendiri, atau (B) cukup buka situs web — tab Image Creation dari akun yang sama akan secara otomatis mengambil tugas dan menyimpan hasil ke "My Works".

Permintaan

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

Respons

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

Parameter body

BidangTipeWajibDefaultDeskripsi
promptstringPrompt pembuatan
modelstringgpt-image-2Model id (lihat di bawah)
modetext | edit | fusiontexttext=teks-ke-gambar; edit=edit-gambar-tunggal; fusion=pencampuran-gambar-banyak
aspectstring1:1Rasio: 1:1, 2:3, 3:2, 3:4, 4:3, 9:16, 16:9, 21:9, …
imageSize1K | 2K | 4K2KResolusi output
countnumber1Jumlah gambar (dibatasi per model)
imageUrlsstring[][]URL gambar referensi untuk edit / fusion

Model yang tersedia

modelNamaMode yang didukung
gpt-image-2GPT Image 2text, edit
proNano Banana Protext, edit
flash2Nano Banana 2text, edit
flashNano Bananatext, edit

Kesalahan

HTTPerror.typeKapan
400invalid_requestBody bukan JSON, prompt kosong, model tidak dikenal, atau model tidak mendukung mode
401unauthorizedHeader Authorization hilang atau format salah
401invalid_api_keyAPI key tidak ditemukan di user_keys
403no_creditsKuota bulanan habis. Tingkatkan paket Anda di https://drawnew.com/pricing
GET/api/v1/tasks/{task_id}

Poll satu tugas

Mengembalikan status tugas upstream. status adalah salah satu dari queued / in_progress / completed / failed. completed menambahkan bidang imageUrl; failed menambahkan bidang error.

Permintaan

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

Respons

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

Poll beberapa tugas

Poll banyak tugas dalam satu panggilan untuk menghemat round-trip dan autentikasi lookup. Hasil dikembalikan dalam urutan yang sama dengan input ids. Maksimal 20 ids per permintaan.

Permintaan

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

Respons

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

Kesalahan polling

HTTPerror.typeKapan
400invalid_requestParameter ids hilang, atau lebih dari 20 ids
401unauthorizedHeader Authorization hilang atau format salah
401invalid_api_keyAPI key tidak ditemukan di user_keys
POST/api/v1/upload

Unggah gambar referensi (untuk edit / fusion)

Server-side mengambil gambar dari URL publik dan meng-hostnya kembali di CDN upstream, mengembalikan URL stabil. Masukkan hasil ke imageUrls generate_image. Maksimal 25 MB per gambar; png / jpeg / webp / gif / bmp diterima.

Permintaan

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

Respons

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

Daftar riwayat pembuatan akun

Mengembalikan pembuatan sebelumnya yang dikaitkan dengan API key ini, yang paling baru terlebih dahulu. Pagination melalui page (1-indexed) dan limit (maksimal 50).

Permintaan

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

Respons

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

Dapatkan tier / status akun

Mengembalikan email, tier (trial / starter / standard / pro), dan apakah upstream key telah dikonfigurasi. Berguna bagi agen untuk memutuskan apakah mereka mampu menggunakan model biaya tinggi.

Permintaan

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

Respons

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

Gunakan melalui MCP (Claude Desktop / Cursor / Cline)

Untuk agen LLM, cara termudah menggunakan DrawNew adalah melalui server MCP resmi yang diterbitkan sebagai @drawnew/mcp-server di npm. Ini mengekspos 6 tool (generate_image, get_task, batch_get_tasks, upload_reference_image, list_my_generations, get_account_status) melalui stdio dan bekerja dengan klien MCP-compatible apa pun. Tambahkan snippet di bawah ke config MCP klien Anda — itu saja.

Konfigurasi Claude Desktop

Path: ~/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>"
      }
    }
  }
}

Catatan

  • Hasil secara otomatis dikaitkan dengan akun yang memiliki API key ini — tugas yang dikirimkan tercatat di pending_tasks; ketika akun yang sama berikutnya membuka tab Image Creation situs web, frontend mengambil alih polling, menyimpan hasil ke generations / generation_images, dan muncul di "My Works" dan perpustakaan aset. Jika Anda ingin fire-and-forget murni tanpa muncul di UI, gunakan akun penelepon terpisah.
  • Pemeriksaan kredit di sisi server — jika kuota bulanan Anda habis, API mengembalikan HTTP 403 dengan error.type=no_credits.
  • Interval polling yang direkomendasikan: 2-5 detik. Endpoint batch menerima maksimal 20 ids per panggilan.
  • Jangan pernah menyematkan API key Anda di kode sisi klien. Gunakan hanya dari backend Anda sendiri.
© 2026 DrawNew.com. All rights reserved.