Imagifly 開発者ドキュメント
HTTP API

画像生成

画像タスクの送信、結果のポーリング、画像モデルカタログの取得を行います。

タスクを送信する

POST /api/v1/images/generations

リクエストボディ

フィールド型必須説明
modelstringはいモデルカタログの画像モデル ID。
promptstringはい描画したい内容。
negativePromptstringいいえ避けたい要素。
ratiostringいいえアスペクト比。既定値は Auto。例:1:1、16:9、9:16、4:3、3:4。
qualitystringいいえstandard または high。
resolutionTierstringいいえ1k または 2k。一部のモデルのみ対応しています。
stepsnumber | stringいいえ推論ステップ数、または low、standard、high のプリセット。
referenceImagesarrayいいえ参照画像。各要素は { "base64": "..." } の形式です。

参照画像のルール:

  • Base64 のみ(data:image/png;base64, のプレフィックスは使用可)。URL は使用できません。
  • デコード後の 1 画像あたりの上限は 10MB です。
  • 枚数の上限はモデルごとに異なります。モデル一覧の referenceImageLimit を参照してください。
  • 選択したモデルが参照画像に対応していない場合、サーバーは対応している代替モデルに切り替えます。レスポンスの settings.model が実際に実行されたモデルです。

例

curl -X POST https://imagifly.net/api/v1/images/generations \
  -H "Authorization: Bearer $IMAGIFLY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "Minimalist poster of a mountain at dawn, warm gradient sky",
    "ratio": "16:9",
    "quality": "high"
  }'

レスポンス 202 Accepted

{
  "ok": true,
  "generation": {
    "id": "gen_2f1c9a...",
    "status": "generating",
    "cost": 12,
    "size": "1536x864",
    "imageCount": 1
  },
  "settings": {
    "model": "gpt-image-2",
    "ratio": "16:9",
    "resolutionTier": null,
    "steps": null
  }
}
フィールド説明
generation.idポーリングに使用するタスク ID。
generation.costこのタスクで消費されたクレジット。
generation.size選択された出力サイズ。
generation.imageCount画像枚数。常に 1 です。
settings実際に適用された正規化済みのパラメータ。

タスクをポーリングする

GET /api/v1/images/generations/{id}
{
  "ok": true,
  "generation": {
    "id": "gen_2f1c9a...",
    "status": "success",
    "error": null,
    "durationMs": 18420,
    "imageUrls": ["https://imagedelivery.net/.../public"]
  }
}
フィールド説明
statusgenerating、success、failed のいずれか。
error失敗理由。成功時は null。
durationMsタスクの所要時間(ミリ秒)。
imageUrls成功時は画像 URL。それ以外は空配列。

存在しないタスク、または別のアカウントが所有するタスクは 404 GENERATION_NOT_FOUND を返します。

モデルカタログ

GET /api/v1/images/models
{
  "ok": true,
  "models": [
    {
      "id": "gpt-image-2",
      "label": "GPT Image 2",
      "credits": 12,
      "resolutionTiers": ["1k", "2k"],
      "resolutionQuality": "high",
      "defaultResolutionTier": "1k",
      "supportsSteps": false,
      "referenceImageLimit": 4
    }
  ]
}

レスポンスを正として扱ってください。価格、ティア、上限はモデルの更新に伴って変わります。credits は基本価格で、解像度・品質・ステップなどのオプションによって最終的な課金額が変わる場合があります。

補足

  • ratio は Auto とモデルが対応する比率を受け付けます。非対応の値は 400 INVALID_IMAGE_REQUEST で拒否されます。
  • プロンプトの内容はモデル提供元でも検査されます。提供元に拒否されたプロンプトは、送信時の HTTP エラーではなく、説明を含む error を持つ失敗タスクになります。
  • 再試行するには新しいタスクを送信してください。再試行用のエンドポイントはありません。

このページの内容