JoyAI Image API

API ドキュメント

公開 API 1 つで画像を生成・編集。 joyai で指示ベースの画像編集、 gptimage2 で GPT Image 2 のテキスト生成と画像編集。

概要

エンドポイント

/api/v1/generate

対応画像モデル向けの単一エンドポイント。model フィールドで動作を選択。

Auth

Bearer API キー

Authorization ヘッダーにダッシュボード API キーを使用。サーバー側キーはブラウザに送信されません。

Async

タスクベースの結果

生成は task ID を返します。status をポーリングして最終 URL を取得。

認証

すべてのリクエストに Authorization ヘッダーの API キーが必要です。キーの作成・更新は ダッシュボード > API キー.

ヘッダー
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

モデルとクレジット

model最適用途画像入力クレジット
joyai参照画像 1〜3 枚での指示ベース編集。はい、画像 URL 1〜3 件。1 リクエスト 24 クレジット。
gptimage2GPT Image 2 のテキスト生成と画像編集。任意。画像追加で編集モード。Text: 1k/2k/4k で low 2/4/6、medium 12/24/36、high 44/88/132。Edit: low 6/12/18、medium 12/24/36、high 44/88/132。

クイックスタート

次へリクエストを送信: POST /api/v1/generate. にリクエストを送信。API は即座に task ID を返します。 GET /api/v1/status で成功または失敗までポーリング。

cURL
curl -X POST "https://joyai-image.com/api/v1/generate" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gptimage2",
    "prompt": "A premium product photo of a matte black espresso machine on a marble counter",
    "quality": "medium",
    "resolution": "1k",
    "aspect_ratio": "1:1"
  }'

POST /api/v1/generate

画像生成または編集タスクを作成。リクエストボディは JSON。

リクエストパラメータ

名前必須説明
modelstringはいjoyai または gptimage2 を使用。
promptstringはい自然言語の指示。joyai は最大 1500 文字、gptimage2 は最大 20000 文字。
imagesstring[]joyai は必須、gptimage2 は任意画像 URL。joyai は 1〜3 枚、gptimage2 は画像があると編集モード。
sizestringjoyai は任意1024*1024 など。デフォルト 1024*1024。
qualitystringgptimage2 は任意low、medium、high。デフォルト medium。
resolutionstringgptimage2 は任意1k、2k、4k。デフォルト 1k。
aspect_ratiostringgptimage2 は任意1:1、3:2、2:3、3:4、4:3、4:5、5:4、9:16、16:9、21:9。
output_formatstringgptimage2 は任意png、jpeg、webp。デフォルト png。
callback_urlstring任意タスクと共に保存できるコールバック用 URL。

JoyAI 編集例

cURL
curl -X POST "https://joyai-image.com/api/v1/generate" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "joyai",
    "prompt": "Replace the mug logo with clean white text that says JOYAI while preserving reflections and shadows.",
    "images": ["https://example.com/source-product.jpg"],
    "size": "1024*1024"
  }'

GPT Image 2 例

cURL
curl -X POST "https://joyai-image.com/api/v1/generate" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gptimage2",
    "prompt": "A cinematic studio portrait of a red ceramic chair, softbox lighting, neutral backdrop",
    "quality": "high",
    "resolution": "2k",
    "aspect_ratio": "4:5",
    "output_format": "png"
  }'

レスポンス

JSON
{
  "code": 200,
  "message": "success",
  "data": {
    "task_id": "task_id_here",
    "model": "gptimage2",
    "status": "processing",
    "credits_charged": 88
  }
}

GET /api/v1/status

次が返した task ID でステータスをポーリング: /api/v1/generate. が返した task ID でステータスをポーリング。model は任意で、可能な場合は自動ルーティング。

cURL
curl "https://joyai-image.com/api/v1/status?task_id=task_id_here" \
  -H "Authorization: Bearer YOUR_API_KEY"
JSON
{
  "code": 200,
  "message": "success",
  "data": {
    "task_id": "task_id_here",
    "model": "gptimage2",
    "status": "succeeded",
    "credits_charged": 88,
    "images": ["https://cdn.example.com/result.png"],
    "error": null,
    "created_at": "2026-06-06 12:00:00"
  }
}

エラー

エラーは成功レスポンスと同じ形式。公開レスポンスに内部プロバイダー名やルーティング詳細は含まれません。

JSON
{
  "code": 400,
  "message": "prompt is required",
  "data": null
}
ステータス意味
400パラメータ不足または無効。
401API キー不足または無効。
402クレジット不足。
500生成サービスまたはサーバーエラー。繰り返す場合はサポートへ。