DrawNew.comDrawNew.com

مرجع API

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

نقاط نهاية عامة للتكاملات الدفعية ومع العميلات. قم بالمصادقة بمفتاح API المُصدر بالفعل لحسابك — لا حاجة لرمز منفصل.

المصادقة

أدرج مفتاح API الخاص بك في ترويسة Authorization. المفتاح هو نفسه المُعيّن لحسابك في user_keys (يُزوده DrawNew بعد تفعيل خطتك). المفتاح الخاطئ يُرجع 401.

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

إنشاء مهمة إنشاء

يُرسل المهمة إلى مزود الصور الأصلي ويعيد على الفور task_ids. للحصول على الصورة الناتجة، يمكنك (أ) الاستعلام عن GET /v1/tasks/:id بنفسك، أو (ب) ببساطة فتح الموقع — تأخذ علامة تبويب إنشاء الصور للحساب نفسه المهمة تلقائياً وتحفظ النتائج في "أعمالي".

الطلب

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

الاستجابة

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

معلمات الجسم

الحقلالنوعإلزاميالافتراضيالوصف
promptstringطلب الإنشاء
modelstringgpt-image-2معرف النموذج (انظر أدناه)
modetext | edit | fusiontexttext=نص إلى صورة؛ edit=تحرير صورة واحدة؛ fusion=دمج صور متعددة
aspectstring1:1النسبة: 1:1, 2:3, 3:2, 3:4, 4:3, 9:16, 16:9, 21:9, …
imageSize1K | 2K | 4K2Kالدقة المخرجة
countnumber1عدد الصور (محصور حسب النموذج)
imageUrlsstring[][]روابط الصور المرجعية لـ edit / fusion

النماذج المتاحة

modelالاسمأوضاع مدعومة
gpt-image-2GPT Image 2text, edit
proNano Banana Protext, edit
flash2Nano Banana 2text, edit
flashNano Bananatext, edit

الأخطاء

HTTPerror.typeمتى
400invalid_requestالجسم ليس JSON، الطلب فارغ، النموذج غير معروف، أو النموذج لا يدعم الوضع
401unauthorizedترويسة Authorization مفقودة أو تنسيق خاطئ
401invalid_api_keyمفتاح API غير موجود في user_keys
403no_creditsالحصة الشهرية مستنفدة. قم بترقية خطتك على https://drawnew.com/pricing
GET/api/v1/tasks/{task_id}

استعلام عن مهمة واحدة

يُرجع حالة المهمة الأصلية. الحالة هي واحدة من: queued / in_progress / completed / failed. يضيف completed حقل imageUrl؛ يضيف failed حقل error.

الطلب

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

الاستجابة

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

استعلام عن عدة مهام

يستعلم عن عدة مهام في استدعاء واحد لتوفير الجولات وعمليات البحث في المصادقة. تُرجع النتائج بنفس ترتيب المُدخلات ids. الحد الأقصى 20 id لكل طلب.

الطلب

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

الاستجابة

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

أخطاء الاستعلام

HTTPerror.typeمتى
400invalid_requestمعلمة ids مفقودة، أو أكثر من 20 ids
401unauthorizedترويسة Authorization مفقودة أو تنسيق خاطئ
401invalid_api_keyمفتاح API غير موجود في user_keys
POST/api/v1/upload

رفع صورة مرجعية (لـ edit / fusion)

يجلب الصورة من رابط عام من جانب الخادم ويُعيد استضافتها على CDN الأصلي، مُعيداً رابطاً ثابتاً. مرر النتيجة إلى imageUrls في generate_image. الحد الأقصى 25 ميغابايت لكل صورة؛ يُقبل png / jpeg / webp / gif / bmp.

الطلب

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

الاستجابة

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

سرد سجل الإنشاءات للحساب

يُرجع إنشاءات سابقة نسبت إلى مفتاح API هذا، الأحدث أولاً. الترقيم عبر page (مُفهرس من 1) وlimit (الحد الأقصى 50).

الطلب

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

الاستجابة

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

الحصول على مستوى/حالة الحساب

يُرجع البريد الإلكتروني والمستوى (trial / starter / standard / pro) وما إذا كان المفتاح الأصلي مُعداً. مفيد للعملاء لتحديد ما إذا كان بإمكانهم تحميل نموذج عالي التكلفة.

الطلب

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

الاستجابة

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

الاستخدام عبر MCP (Claude Desktop / Cursor / Cline)

لعملاء LLM، أسهل طريقة لاستخدام DrawNew هي عبر خادم MCP الرسمي المنشور كـ @drawnew/mcp-server على npm. يكشف 6 أدوات (generate_image, get_task, batch_get_tasks, upload_reference_image, list_my_generations, get_account_status) عبر stdio ويعمل مع أي عميل متوافق مع MCP. أضف القطعة أدناه إلى تكوين MCP لعميلك — هذا كل شيء.

تكوين Claude Desktop

المسار: ~/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>"
      }
    }
  }
}

ملاحظات

  • تُنسب النتائج تلقائياً إلى الحساب الذي يملك مفتاح API هذا — تُسجَّل المهمة المُرسلة في pending_tasks؛ عندما يفتح نفس الحساب علامة تبويب إنشاء الصور على الموقع في المرة القادمة، يتولى الواجهة الأمامية الاستعلام ويحفظ النتائج في generations / generation_images، وتظهر في "أعمالي" ومكتبة الأصول. إذا أردت عملية fire-and-forget نظيفة بدون ظهور في الواجهة، خصص حساباً منفصلاً للاستدعاءات.
  • فحص الأرصدة من جانب الخادم — إذا استنفدت حصتك الشهرية، يُرجع API HTTP 403 مع error.type=no_credits.
  • الفترة الموصى بها للاستعلام: 2-5 ثوانٍ. يقبل نقطة النهاية الدفعية ما يصل إلى 20 id لكل استدعاء.
  • لا تُدمج أبداً مفتاح API الخاص بك في كود الواجهة الأمامية. استخدمه فقط من خادمك الخاص.
© 2026 DrawNew.com. All rights reserved.