DrawNew.comDrawNew.com

APIリファレンス

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

バッチおよびエージェント統合のための公開エンドポイント。アカウントにすでに発行されているAPIキーで認証します — 別途トークンは不要です。

認証

AuthorizationヘッダーにAPIキーを含めてください。キーは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を返します。生成された画像を取得するには、(A) 自分でGET /v1/tasks/:idをポーリングするか、(B) ウェブサイトを開くだけで、同じアカウントのImage Creationタブがタスクを自動取得し、「My Works」に結果を保存します。

リクエスト

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モデルid(下記参照)
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用の参照画像URL

利用可能なモデル

model名前サポートされるモード
gpt-image-2GPT Image 2text, edit
proNano Banana Protext, edit
flash2Nano Banana 2text, edit
flashNano Bananatext, edit

エラー

HTTPerror.type発生条件
400invalid_requestボディがJSONでない、プロンプトが空、モデル不明、またはモデルがモードをサポートしていない
401unauthorizedAuthorizationヘッダーがないか、形式が間違っている
401invalid_api_keyuser_keysにAPIキーが見つからない
403no_credits月間クォータを使い切りました。https://drawnew.com/pricing でプランをアップグレード
GET/api/v1/tasks/{task_id}

単一タスクのポーリング

上流タスクのステータスを返します。statusは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

複数タスクのポーリング

ラウンドトリップと認証ルックアップを節約するために1回の呼び出しで複数のタスクをポーリングします。結果は入力idsと同じ順序で返されます。リクエストごとに最大20件のids。

リクエスト

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_requestidsパラメータがないか、20件以上のids
401unauthorizedAuthorizationヘッダーがないか、形式が間違っている
401invalid_api_keyuser_keysにAPIキーが見つからない
POST/api/v1/upload

参照画像のアップロード(edit / fusion用)

サーバーサイドでパブリックURLから画像を取得し、上流CDNで再ホスティングし、安定したURLを返します。generate_imageのimageUrlsに結果を渡してください。画像1枚あたり最大25MB。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を使用する最も簡単な方法は、npmで@drawnew/mcp-serverとして公開されている公式MCPサーバーです。stdio経由で6つのツール(generate_image、get_task、batch_get_tasks、upload_reference_image、list_my_generations、get_account_status)を公開し、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に記録されます。同じアカウントが次にウェブサイトのImage Creationタブを開くと、フロントエンドがポーリングを引き継ぎ、resultsをgenerations / generation_imagesに保存し、「My Works」とアセットライブラリに表示されます。UIに表示されない純粋なfire-and-forgetを希望する場合は、専用の呼出アカウントを使用してください。
  • サーバー側のクレジットチェック — 月間クォータを使い切ると、API は HTTP 403、error.type=no_credits を返します。
  • 推奨ポーリング間隔:2〜5秒。バッチエンドポイントは1回の呼び出しで最大20件のidsを受け付けます。
  • APIキーをクライアント側コードに埋め込まないでください。自分のバックエンドからのみ使用してください。
© 2026 DrawNew.com. All rights reserved.