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 クレジット。 |
gptimage2 | GPT 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。
リクエストパラメータ
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
model | string | はい | joyai または gptimage2 を使用。 |
prompt | string | はい | 自然言語の指示。joyai は最大 1500 文字、gptimage2 は最大 20000 文字。 |
images | string[] | joyai は必須、gptimage2 は任意 | 画像 URL。joyai は 1〜3 枚、gptimage2 は画像があると編集モード。 |
size | string | joyai は任意 | 1024*1024 など。デフォルト 1024*1024。 |
quality | string | gptimage2 は任意 | low、medium、high。デフォルト medium。 |
resolution | string | gptimage2 は任意 | 1k、2k、4k。デフォルト 1k。 |
aspect_ratio | string | gptimage2 は任意 | 1:1、3:2、2:3、3:4、4:3、4:5、5:4、9:16、16:9、21:9。 |
output_format | string | gptimage2 は任意 | png、jpeg、webp。デフォルト png。 |
callback_url | string | 任意 | タスクと共に保存できるコールバック用 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 | パラメータ不足または無効。 |
401 | API キー不足または無効。 |
402 | クレジット不足。 |
500 | 生成サービスまたはサーバーエラー。繰り返す場合はサポートへ。 |