{
  "aboutHtml": "<h4>Krea 2 ファミリーで素早く方向性を探る</h4><p>Krea 2 Medium Turbo は、Krea が Krea 2 Turbo として紹介する生成エディションです。モデル固有のインターフェースでは Medium Turbo バリアントとされ、Krea のユーザーガイドは、画像生成に必要な処理を減らす蒸留されたサンプリングスケジュールを説明しています。Krea は、幅広いクリエイティブの検討、表現性のあるラフ、イラスト、グラフィックの方向性を探るための、ファミリー内で最も速い選択肢として位置付けています。</p><p>表紙の構図案、キャンペーンの視覚表現、同じシーンに対する異なるイラストスタイルなど、まずアイデアを比較したいときに使います。簡潔で具体的な最初の指示は比較を容易にします。例えば、「淡い青の机の上に浮かぶ、赤い紙を折った鳥。大胆なエディトリアルイラスト、午後の硬い影、単純な幾何学形状、下部に明確な余白を持つ縦構図」です。被写体と画面の枠組みを維持して視覚表現を検討し、選んだ方向をさらに発展させます。</p><p>Krea のエディション別ガイドでは、より安定したイラスト表現には Medium、写真調や素材感を生かした仕上げには Large を勧めています。Turbo は独立したエディションです。後で別のモデルを使う処理は、別の生成であり、自動的な画質向上や同一の継続処理ではありません。</p><h4>プロンプトと視覚入力を準備する</h4><p>モデルの生成スキーマでは、prompt、aspect ratio、resolution が必須です。任意の image-to-image 入力を使うと、純粋なノイズではなく元画像から生成を開始します。denoising strength は 0 から 1 の範囲で、0 は入力を維持し、1 は完全に置き換えます。文書化された既定値は 0.99 です。初期構図を慎重に用意し、変えるべき内容を説明してください。高い強度では、元画像が大幅に置き換わる可能性があります。</p><p>スタイル参照は、開始画像の強度を変えるのではなく、画像を通じて外観を指定します。モデル固有のスキーマでは、元画像とスタイル参照の URI 文字列を 1,024 文字までに制限しています。モデル固有のリクエストスキーマは最大十個の参照を受け取り、それぞれの influence は 0 から 1、既定値は 0.5 です。配色、描画の表現、照明の方向など、役割が明確な参照を選びます。別の Krea ワークスペースガイドでは、そのインターフェースのスタイル参照は最大四個と説明されています。それぞれのインターフェースの制限に従って準備してください。</p><p>ムードボードは、統一された視覚的な方向性を再利用できる入力にまとめます。先にムードボードを作り、生成時には既存の識別子を使います。モデルのスキーマは一つのムードボードを受け取り、influence は 0 から 1、既定値は 0.23 です。通常 LoRAs に当たる学習済みスタイルは、識別子と -2 から 2 の strength で選ぶ別の入力です。元画像、スタイル参照、ムードボード、学習済みスタイルには異なる役割があります。全ての詳細を保つための同じ手段として扱わないでください。</p><h4>Creativity と三つの視覚スライダーを調整する</h4><p>Creativity はプロンプトの拡張を制御します。Raw は拡張を無効にし、low、medium、high は指示をどこまで解釈して広げるかを変えます。モデル固有のスキーマの既定値は low です。正確な指示を比較する際は控えめな設定を使い、より幅広いアイデアを探る際は解釈の幅を広げます。</p><p>Intensity、Complexity、Movement は、それぞれ -100 から 100 の独立した整数スライダーで、0 が中立です。Intensity は控えめな表現と強い表現の間を調整します。Complexity は単純な構図と密度の高い詳細の間を調整します。Movement はポーズ、視覚的な活力、暗示される動きを変えます。これらは参照やムードボードと組み合わせられ、Creativity のプロンプト拡張とは別の設定です。</p><p>紙の鳥の指示では、まず他の設定を固定したまま、すっきりした構図と細部の多い構図を比べます。次に、より強い視覚表現や、より活力のあるポーズを試します。一度に変える設定は一つにし、任意の seed、prompt、参照の組み合わせを記録します。Movement が変えるのは静止画像の印象です。鳥のアニメーション、カメラ移動、動画シーケンスを生成するわけではありません。</p><h4>フレーム、バッチ、完成画像</h4><p>モデル固有の生成スキーマは、1K の解像度スケールと、1:1、4:3、3:2、16:9、2.35:1、4:5、3:4、2:3、9:16 の九つのアスペクト比を用意しています。Krea の Turbo ワークスペースガイドには、バッチで最大四枚の画像を生成する説明もあります。このバッチ設定は、文書化されたワークスペースの処理に属し、個別の生成リクエストスキーマとは区別されます。</p><p>生成前に、用途に合わせて画面比率を選びます。縦長の表紙と横長のエディトリアル画像では、被写体と余白のバランスが異なります。生成時のスケールと、その後の高精細化や完成レイアウトの書き出しは分けて考えてください。</p><p>Krea の文書化された生成フローは、最初は pending の場合もあるジョブを返します。完了までジョブを追跡し、結果の画像の場所を取得します。完成した候補を構図、形、質感、配色、見える文字で比較し、選んだ画像を入力と設定と共に保存してください。正確な文字組みが必要なら、最終デザインで配置や修正を行います。</p><p>Turbo の素早い検討という役割は、特定の完了時間、完璧な文字、参照画像の正確な再現を保証しません。元画像の強度や参照の影響は、結果を確認する必要があります。このエディションで視覚的な方向性を効率よく定め、具体的な候補を選び、用途に必要な細部、レイアウト、制作上の修正を加えてください。</p>",
  "aboutText": "### Krea 2 ファミリーで素早く方向性を探る\n\nKrea 2 Medium Turbo は、Krea が Krea 2 Turbo として紹介する生成エディションです。モデル固有のインターフェースでは Medium Turbo バリアントとされ、Krea のユーザーガイドは、画像生成に必要な処理を減らす蒸留されたサンプリングスケジュールを説明しています。Krea は、幅広いクリエイティブの検討、表現性のあるラフ、イラスト、グラフィックの方向性を探るための、ファミリー内で最も速い選択肢として位置付けています。\n\n表紙の構図案、キャンペーンの視覚表現、同じシーンに対する異なるイラストスタイルなど、まずアイデアを比較したいときに使います。簡潔で具体的な最初の指示は比較を容易にします。例えば、「淡い青の机の上に浮かぶ、赤い紙を折った鳥。大胆なエディトリアルイラスト、午後の硬い影、単純な幾何学形状、下部に明確な余白を持つ縦構図」です。被写体と画面の枠組みを維持して視覚表現を検討し、選んだ方向をさらに発展させます。\n\nKrea のエディション別ガイドでは、より安定したイラスト表現には Medium、写真調や素材感を生かした仕上げには Large を勧めています。Turbo は独立したエディションです。後で別のモデルを使う処理は、別の生成であり、自動的な画質向上や同一の継続処理ではありません。\n\n### プロンプトと視覚入力を準備する\n\nモデルの生成スキーマでは、prompt、aspect ratio、resolution が必須です。任意の image-to-image 入力を使うと、純粋なノイズではなく元画像から生成を開始します。denoising strength は 0 から 1 の範囲で、0 は入力を維持し、1 は完全に置き換えます。文書化された既定値は 0.99 です。初期構図を慎重に用意し、変えるべき内容を説明してください。高い強度では、元画像が大幅に置き換わる可能性があります。\n\nスタイル参照は、開始画像の強度を変えるのではなく、画像を通じて外観を指定します。モデル固有のスキーマでは、元画像とスタイル参照の URI 文字列を 1,024 文字までに制限しています。モデル固有のリクエストスキーマは最大十個の参照を受け取り、それぞれの influence は 0 から 1、既定値は 0.5 です。配色、描画の表現、照明の方向など、役割が明確な参照を選びます。別の Krea ワークスペースガイドでは、そのインターフェースのスタイル参照は最大四個と説明されています。それぞれのインターフェースの制限に従って準備してください。\n\nムードボードは、統一された視覚的な方向性を再利用できる入力にまとめます。先にムードボードを作り、生成時には既存の識別子を使います。モデルのスキーマは一つのムードボードを受け取り、influence は 0 から 1、既定値は 0.23 です。通常 LoRAs に当たる学習済みスタイルは、識別子と -2 から 2 の strength で選ぶ別の入力です。元画像、スタイル参照、ムードボード、学習済みスタイルには異なる役割があります。全ての詳細を保つための同じ手段として扱わないでください。\n\n### Creativity と三つの視覚スライダーを調整する\n\nCreativity はプロンプトの拡張を制御します。Raw は拡張を無効にし、low、medium、high は指示をどこまで解釈して広げるかを変えます。モデル固有のスキーマの既定値は low です。正確な指示を比較する際は控えめな設定を使い、より幅広いアイデアを探る際は解釈の幅を広げます。\n\nIntensity、Complexity、Movement は、それぞれ -100 から 100 の独立した整数スライダーで、0 が中立です。Intensity は控えめな表現と強い表現の間を調整します。Complexity は単純な構図と密度の高い詳細の間を調整します。Movement はポーズ、視覚的な活力、暗示される動きを変えます。これらは参照やムードボードと組み合わせられ、Creativity のプロンプト拡張とは別の設定です。\n\n紙の鳥の指示では、まず他の設定を固定したまま、すっきりした構図と細部の多い構図を比べます。次に、より強い視覚表現や、より活力のあるポーズを試します。一度に変える設定は一つにし、任意の seed、prompt、参照の組み合わせを記録します。Movement が変えるのは静止画像の印象です。鳥のアニメーション、カメラ移動、動画シーケンスを生成するわけではありません。\n\n### フレーム、バッチ、完成画像\n\nモデル固有の生成スキーマは、1K の解像度スケールと、1:1、4:3、3:2、16:9、2.35:1、4:5、3:4、2:3、9:16 の九つのアスペクト比を用意しています。Krea の Turbo ワークスペースガイドには、バッチで最大四枚の画像を生成する説明もあります。このバッチ設定は、文書化されたワークスペースの処理に属し、個別の生成リクエストスキーマとは区別されます。\n\n生成前に、用途に合わせて画面比率を選びます。縦長の表紙と横長のエディトリアル画像では、被写体と余白のバランスが異なります。生成時のスケールと、その後の高精細化や完成レイアウトの書き出しは分けて考えてください。\n\nKrea の文書化された生成フローは、最初は pending の場合もあるジョブを返します。完了までジョブを追跡し、結果の画像の場所を取得します。完成した候補を構図、形、質感、配色、見える文字で比較し、選んだ画像を入力と設定と共に保存してください。正確な文字組みが必要なら、最終デザインで配置や修正を行います。\n\nTurbo の素早い検討という役割は、特定の完了時間、完璧な文字、参照画像の正確な再現を保証しません。元画像の強度や参照の影響は、結果を確認する必要があります。このエディションで視覚的な方向性を効率よく定め、具体的な候補を選び、用途に必要な細部、レイアウト、制作上の修正を加えてください。",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "ea1ff98364d7f181ae96e54eacddee5af5920118d0b930ab58819bbc41403885",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "ja",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">•</span><h2 id=\"sheet-title\">Krea: Krea 2 Medium Turbo</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"閉じる\">×</button></div><div class=\"idline\"><span>Krea /</span><code>krea/krea-2-medium-turbo</code><button type=\"button\" id=\"copy-id\">IDをコピー</button></div><nav class=\"card-jump-nav\" aria-label=\"モデルカードのセクション\"><button type=\"button\" data-card-jump=\"overview\">はじめに</button><button type=\"button\" data-card-jump=\"methods\">入力とメソッド</button><button type=\"button\" data-card-jump=\"pricing\">料金</button><button type=\"button\" data-card-jump=\"examples\">例</button><button type=\"button\" data-card-jump=\"results\">結果</button><button type=\"button\" data-card-jump=\"aliases\">エイリアス</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"APIメソッド\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Ultra|images|/v1/images/generations|krea%2Fkrea-2-medium-turbo\">画像</button></div><div id=\"card-method-content\" role=\"tabpanel\" aria-labelledby=\"card-method-tab-0\"><section class=\"card-section\" data-card-section=\"overview\"><h3 tabindex=\"-1\">はじめに</h3><p class=\"mdesc-full\">Krea 2 Medium Turboは、ビジュアル案の探索と表現豊かな草案制作向けの、Kreaの高速画像生成エディションです。蒸留したサンプリングスケジュールに、テキスト、元画像、スタイルの制御を組み合わせ、強度、複雑さ、暗示される動きを独立に調整できます。</p><dl class=\"card-io\" data-card-io><div><dt>対応する入力</dt><dd>テキスト · 画像</dd></div><div><dt>結果</dt><dd>画像</dd></div></dl><details class=\"card-about\"><summary>モデルについて</summary><p class=\"note-s\" data-model-method-boundary>この説明はモデルの機能を紹介するものです。Ailootで利用できる入力、出力、オプションは、選択したメソッドごとに以下に記載されています。</p><div class=\"mabout\" id=\"m-about\"><h4>Krea 2 ファミリーで素早く方向性を探る</h4><p>Krea 2 Medium Turbo は、Krea が Krea 2 Turbo として紹介する生成エディションです。モデル固有のインターフェースでは Medium Turbo バリアントとされ、Krea のユーザーガイドは、画像生成に必要な処理を減らす蒸留されたサンプリングスケジュールを説明しています。Krea は、幅広いクリエイティブの検討、表現性のあるラフ、イラスト、グラフィックの方向性を探るための、ファミリー内で最も速い選択肢として位置付けています。</p><p>表紙の構図案、キャンペーンの視覚表現、同じシーンに対する異なるイラストスタイルなど、まずアイデアを比較したいときに使います。簡潔で具体的な最初の指示は比較を容易にします。例えば、「淡い青の机の上に浮かぶ、赤い紙を折った鳥。大胆なエディトリアルイラスト、午後の硬い影、単純な幾何学形状、下部に明確な余白を持つ縦構図」です。被写体と画面の枠組みを維持して視覚表現を検討し、選んだ方向をさらに発展させます。</p><p>Krea のエディション別ガイドでは、より安定したイラスト表現には Medium、写真調や素材感を生かした仕上げには Large を勧めています。Turbo は独立したエディションです。後で別のモデルを使う処理は、別の生成であり、自動的な画質向上や同一の継続処理ではありません。</p><h4>プロンプトと視覚入力を準備する</h4><p>モデルの生成スキーマでは、prompt、aspect ratio、resolution が必須です。任意の image-to-image 入力を使うと、純粋なノイズではなく元画像から生成を開始します。denoising strength は 0 から 1 の範囲で、0 は入力を維持し、1 は完全に置き換えます。文書化された既定値は 0.99 です。初期構図を慎重に用意し、変えるべき内容を説明してください。高い強度では、元画像が大幅に置き換わる可能性があります。</p><p>スタイル参照は、開始画像の強度を変えるのではなく、画像を通じて外観を指定します。モデル固有のスキーマでは、元画像とスタイル参照の URI 文字列を 1,024 文字までに制限しています。モデル固有のリクエストスキーマは最大十個の参照を受け取り、それぞれの influence は 0 から 1、既定値は 0.5 です。配色、描画の表現、照明の方向など、役割が明確な参照を選びます。別の Krea ワークスペースガイドでは、そのインターフェースのスタイル参照は最大四個と説明されています。それぞれのインターフェースの制限に従って準備してください。</p><p>ムードボードは、統一された視覚的な方向性を再利用できる入力にまとめます。先にムードボードを作り、生成時には既存の識別子を使います。モデルのスキーマは一つのムードボードを受け取り、influence は 0 から 1、既定値は 0.23 です。通常 LoRAs に当たる学習済みスタイルは、識別子と -2 から 2 の strength で選ぶ別の入力です。元画像、スタイル参照、ムードボード、学習済みスタイルには異なる役割があります。全ての詳細を保つための同じ手段として扱わないでください。</p><h4>Creativity と三つの視覚スライダーを調整する</h4><p>Creativity はプロンプトの拡張を制御します。Raw は拡張を無効にし、low、medium、high は指示をどこまで解釈して広げるかを変えます。モデル固有のスキーマの既定値は low です。正確な指示を比較する際は控えめな設定を使い、より幅広いアイデアを探る際は解釈の幅を広げます。</p><p>Intensity、Complexity、Movement は、それぞれ -100 から 100 の独立した整数スライダーで、0 が中立です。Intensity は控えめな表現と強い表現の間を調整します。Complexity は単純な構図と密度の高い詳細の間を調整します。Movement はポーズ、視覚的な活力、暗示される動きを変えます。これらは参照やムードボードと組み合わせられ、Creativity のプロンプト拡張とは別の設定です。</p><p>紙の鳥の指示では、まず他の設定を固定したまま、すっきりした構図と細部の多い構図を比べます。次に、より強い視覚表現や、より活力のあるポーズを試します。一度に変える設定は一つにし、任意の seed、prompt、参照の組み合わせを記録します。Movement が変えるのは静止画像の印象です。鳥のアニメーション、カメラ移動、動画シーケンスを生成するわけではありません。</p><h4>フレーム、バッチ、完成画像</h4><p>モデル固有の生成スキーマは、1K の解像度スケールと、1:1、4:3、3:2、16:9、2.35:1、4:5、3:4、2:3、9:16 の九つのアスペクト比を用意しています。Krea の Turbo ワークスペースガイドには、バッチで最大四枚の画像を生成する説明もあります。このバッチ設定は、文書化されたワークスペースの処理に属し、個別の生成リクエストスキーマとは区別されます。</p><p>生成前に、用途に合わせて画面比率を選びます。縦長の表紙と横長のエディトリアル画像では、被写体と余白のバランスが異なります。生成時のスケールと、その後の高精細化や完成レイアウトの書き出しは分けて考えてください。</p><p>Krea の文書化された生成フローは、最初は pending の場合もあるジョブを返します。完了までジョブを追跡し、結果の画像の場所を取得します。完成した候補を構図、形、質感、配色、見える文字で比較し、選んだ画像を入力と設定と共に保存してください。正確な文字組みが必要なら、最終デザインで配置や修正を行います。</p><p>Turbo の素早い検討という役割は、特定の完了時間、完璧な文字、参照画像の正確な再現を保証しません。元画像の強度や参照の影響は、結果を確認する必要があります。このエディションで視覚的な方向性を効率よく定め、具体的な候補を選び、用途に必要な細部、レイアウト、制作上の修正を加えてください。</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Ailootで利用可能 · 入力とメソッド</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · 画像</b> <code>POST /v1/images/generations</code></summary><dl class=\"method-capabilities\"><div><dt>入力の種類</dt><dd><code>text</code>, <code>image</code></dd></div><div><dt>出力の種類</dt><dd><code>image</code></dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>フィールド</th><th>種類</th><th>要件</th><th>値と制限</th><th>デフォルト</th></tr></thead><tbody><tr><th data-cell-label=\"フィールド\" scope=\"row\"><span class=\"card-cell-label\">フィールド</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"種類\" data-field-type><span class=\"card-cell-label\">種類</span><code>string</code></td><td data-cell-label=\"要件\"><span class=\"card-cell-label\">要件</span>必須</td><td data-cell-label=\"値と制限\"><span class=\"card-cell-label\">値と制限</span><div>krea/krea-2-medium-turbo</div></td><td data-cell-label=\"デフォルト\" data-default=\"unspecified\"><span class=\"card-cell-label\">デフォルト</span>—</td></tr><tr><th data-cell-label=\"フィールド\" scope=\"row\"><span class=\"card-cell-label\">フィールド</span><code class=\"card-field-name\">prompt</code></th><td data-cell-label=\"種類\" data-field-type><span class=\"card-cell-label\">種類</span><code>string</code></td><td data-cell-label=\"要件\"><span class=\"card-cell-label\">要件</span>必須</td><td data-cell-label=\"値と制限\"><span class=\"card-cell-label\">値と制限</span><div>最小の長さ: 1</div></td><td data-cell-label=\"デフォルト\" data-default=\"unspecified\"><span class=\"card-cell-label\">デフォルト</span>—</td></tr><tr><th data-cell-label=\"フィールド\" scope=\"row\"><span class=\"card-cell-label\">フィールド</span><code class=\"card-field-name\">resolution</code></th><td data-cell-label=\"種類\" data-field-type><span class=\"card-cell-label\">種類</span><code>string</code></td><td data-cell-label=\"要件\"><span class=\"card-cell-label\">要件</span>任意</td><td data-cell-label=\"値と制限\"><span class=\"card-cell-label\">値と制限</span><div>1K</div></td><td data-cell-label=\"デフォルト\" data-default=\"unspecified\"><span class=\"card-cell-label\">デフォルト</span>—</td></tr><tr><th data-cell-label=\"フィールド\" scope=\"row\"><span class=\"card-cell-label\">フィールド</span><code class=\"card-field-name\">aspect_ratio</code></th><td data-cell-label=\"種類\" data-field-type><span class=\"card-cell-label\">種類</span><code>string</code></td><td data-cell-label=\"要件\"><span class=\"card-cell-label\">要件</span>任意</td><td data-cell-label=\"値と制限\"><span class=\"card-cell-label\">値と制限</span><div>1:1, 4:3, 3:2, 16:9, 4:5, 2:3, 9:16</div></td><td data-cell-label=\"デフォルト\" data-default=\"unspecified\"><span class=\"card-cell-label\">デフォルト</span>—</td></tr><tr><th data-cell-label=\"フィールド\" scope=\"row\"><span class=\"card-cell-label\">フィールド</span><code class=\"card-field-name\">input_references</code></th><td data-cell-label=\"種類\" data-field-type><span class=\"card-cell-label\">種類</span><code>array</code></td><td data-cell-label=\"要件\"><span class=\"card-cell-label\">要件</span>任意</td><td data-cell-label=\"値と制限\"><span class=\"card-cell-label\">値と制限</span><div>最小項目数: 0</div><div>最大項目数: 1</div></td><td data-cell-label=\"デフォルト\" data-default=\"unspecified\"><span class=\"card-cell-label\">デフォルト</span>—</td></tr><tr><th data-cell-label=\"フィールド\" scope=\"row\"><span class=\"card-cell-label\">フィールド</span><code class=\"card-field-name\">provider</code></th><td data-cell-label=\"種類\" data-field-type><span class=\"card-cell-label\">種類</span><code>object</code></td><td data-cell-label=\"要件\"><span class=\"card-cell-label\">要件</span>任意</td><td data-cell-label=\"値と制限\"><span class=\"card-cell-label\">値と制限</span></td><td data-cell-label=\"デフォルト\" data-default=\"unspecified\"><span class=\"card-cell-label\">デフォルト</span>—</td></tr></tbody></table></div><details class=\"note-s\" data-method-contract><summary>メソッドのパラメータとライフサイクル</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>パラメータ</th><th>仕様</th></tr></thead><tbody><tr><th data-cell-label=\"パラメータ\" scope=\"row\"><span class=\"card-cell-label\">パラメータ</span><code>content_type</code></th><td data-cell-label=\"仕様\"><span class=\"card-cell-label\">仕様</span>application/json</td></tr><tr><th data-cell-label=\"パラメータ\" scope=\"row\"><span class=\"card-cell-label\">パラメータ</span><code>required</code></th><td data-cell-label=\"仕様\"><span class=\"card-cell-label\">仕様</span>model, prompt</td></tr><tr><th data-cell-label=\"パラメータ\" scope=\"row\"><span class=\"card-cell-label\">パラメータ</span><code>material_types</code></th><td data-cell-label=\"仕様\"><span class=\"card-cell-label\">仕様</span>text, image</td></tr></tbody></table></div><p>ライフサイクル: <code>synchronous_result_then_owned_library</code></p><p class=\"note-s\"><code>GET /v1/media/tasks/{task_id}</code> · 実際に返された task_id またはメディアライブラリのレコード</p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}/content</code></p><p class=\"note-s\"><code>GET /v1/media/assets</code></p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}</code></p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">料金</h3><div class=\"card-result-process\" data-billing-basis><h5>最終料金の計算方法</h5><p class=\"note-s\">表示料金は生成前の費用の見積もりです。最終請求額は、元の生成処理に記録された費用から計算されます。実測された出力時間や予測数量が、そのまま最終的な課金数量になるわけではありません。</p></div><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>料金情報はリクエストの機能を追加しません。対応するパラメーターは選択したメソッドに記載されています。</p><dl data-price-conditions><dt>高速モード</dt><dd>未指定 <span class=\"note-s\">高速モードが選択されている場合</span></dd><dt>Flex モード</dt><dd>未指定 <span class=\"note-s\">flex モードが選択されている場合</span></dd><dt>最大推論量</dt><dd>未指定 <span class=\"note-s\">推論量が最大で、調整に既定値（default）を使用する場合</span></dd></dl></div><div data-declared-tariff-pricing><h4>比較用の推定料金</h4><h4>設定別の価格</h4><p class=\"note-s\">各料金を表示された条件と照合してください。選択肢となる設定の各組には、いずれか1つの料金を適用します。</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>設定</th><th>料金表</th><th>予測数量</th><th>料金</th></tr></thead><tbody><tr><th data-cell-label=\"設定\" scope=\"row\"><span class=\"card-cell-label\">設定</span>基本トークン料金</th><td data-cell-label=\"料金表\"><span class=\"card-cell-label\">料金表</span>基本料金</td><td data-cell-label=\"予測数量\"><span class=\"card-cell-label\">予測数量</span>—</td><td data-cell-label=\"料金\"><span class=\"card-cell-label\">料金</span><div><span>入力 · 入力トークン · 比較専用の見積もり</span> <b>—</b> <span class=\"price-unit\">/ 1K トークン</span></div><div><span>出力 · 出力トークン · 比較専用の見積もり</span> <b>—</b> <span class=\"price-unit\">/ 1K トークン</span></div><div><span>入力 · キャッシュ読み取り · 比較専用の見積もり</span> <b>—</b> <span class=\"price-unit\">/ 1K トークン</span></div><div><span>入力 · キャッシュ書き込み · 比較専用の見積もり</span> <b>—</b> <span class=\"price-unit\">/ 1K トークン</span></div><div><span>入力 · キャッシュ書き込み、1時間 · 比較専用の見積もり</span> <b>—</b> <span class=\"price-unit\">/ 1K トークン</span></div></td></tr><tr><th data-cell-label=\"設定\" scope=\"row\"><span class=\"card-cell-label\">設定</span>生成費用の見積もり</th><td data-cell-label=\"料金表\"><span class=\"card-cell-label\">料金表</span>—</td><td data-cell-label=\"予測数量\"><span class=\"card-cell-label\">予測数量</span>生成1回分の概算</td><td data-cell-label=\"料金\"><span class=\"card-cell-label\">料金</span><div><span>出力 · 推定生成コスト · 比較専用の見積もり</span> <b>$0.03</b> <span class=\"price-unit\">生成前の見積もり</span></div><p class=\"note-s\">この見積もりは追加料金ではなく、完了した生成処理に対する固定料金でもありません。</p></td></tr></tbody></table></div></div><p class=\"note-s\">Ailootはリクエスト前に見積額を確保します。結果の取得後、実測使用量に基づいて最終料金を精算します。ストリーミング時の精算には最終の使用量記録を使用します。<a href=\"/docs/ja/billing/reserve/\">金額の確保と精算の仕組み →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">リクエスト例</h3><h4>Ailoot Ultra · 画像</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"コードの種類\"><button class=\"cg-tab\" id=\"model-code-1777-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1777-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"コードをコピー\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-1777-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1777-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\nexport AILOOT_API_KEY\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np={&#39;model&#39;: &#39;krea/krea-2-medium-turbo&#39;, &#39;prompt&#39;: &#39;a red panda astronaut floating in space, studio lighting&#39;}\n\nPath(&quot;request.json&quot;).write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport base64, json, os, subprocess\nfrom pathlib import Path\nfrom urllib.parse import urlsplit, urljoin\n\ndef save_images(items):\n    if not items: raise SystemExit(&quot;No completed images; retain the full response&quot;)\n    for index, item in enumerate(items):\n        encoded=item.get(&quot;b64_json&quot;)\n        uri=item.get(&quot;url&quot;, &quot;&quot;)\n        if not encoded and uri.startswith(&quot;data:image/&quot;):\n            header, separator, encoded=uri.partition(&quot;,&quot;)\n            if not separator or &quot;;base64&quot; not in header: raise SystemExit(&quot;Unsupported image data URI&quot;)\n        if encoded:\n            raw=base64.b64decode(encoded,validate=True)\n        elif uri:\n            uri=urljoin(&quot;https://api.ailoot.ai&quot;,uri)\n            parsed=urlsplit(uri)\n            if parsed.scheme!=&quot;https&quot; or not parsed.netloc or parsed.username or parsed.password:\n                raise SystemExit(&quot;Invalid returned image URL&quot;)\n            owned=parsed.netloc==&quot;api.ailoot.ai&quot; and parsed.path.startswith(&quot;/v1/media/assets/&quot;) and parsed.path.endswith(&quot;/content&quot;)\n            args=[&quot;curl&quot;,&quot;--fail-with-body&quot;,&quot;--silent&quot;,&quot;--show-error&quot;,uri]\n            if owned: args += [&quot;-H&quot;,&quot;Authorization: Bearer &quot;+os.environ[&quot;AILOOT_API_KEY&quot;]]\n            temporary=Path(f&quot;image-{index}.bin&quot;)\n            subprocess.run(args+[&quot;-o&quot;,str(temporary)],check=True)\n            raw=temporary.read_bytes()\n            temporary.unlink()\n        else: raise SystemExit(&quot;Image has neither bytes nor URL&quot;)\n        if not raw: raise SystemExit(&quot;Empty image result&quot;)\n        ext=&quot;png&quot; if raw.startswith(b&quot;\\x89PNG&quot;) else &quot;jpg&quot; if raw.startswith(b&quot;\\xff\\xd8&quot;) else &quot;webp&quot; if raw[:4]==b&quot;RIFF&quot; and raw[8:12]==b&quot;WEBP&quot; else &quot;svg&quot; if raw.lstrip().startswith((b&quot;&lt;svg&quot;,b&quot;&lt;?xml&quot;)) else &quot;bin&quot;\n        Path(f&quot;image-{index}.{ext}&quot;).write_bytes(raw)\n    print(&quot;Every returned image saved; complete response metadata retained&quot;)\nsave_images(json.loads(Path(&quot;result.json&quot;).read_text())[&quot;data&quot;])\nPY_RESULT\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">結果を受け取って保存</h3><h4>Ailoot Ultra · 画像</h4><p class=\"note-s\">返された画像をすべてダウンロードするか、Base64の内容を保存</p><ul class=\"card-result-paths\"><li><code>GET /v1/media/tasks/{task_id}</code></li><li><code>GET /v1/media/assets/{asset_id}/content</code></li><li><code>GET /v1/media/assets</code></li><li><code>GET /v1/media/assets/{asset_id}</code></li></ul><details class=\"card-about\"><summary>その他のコンテンツ取得</summary><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"コードの種類\"><button class=\"cg-tab\" id=\"model-code-1778-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1778-panel-0\" aria-selected=\"true\" tabindex=\"0\">自分が所有する既存のアセットを読み取る</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"コードをコピー\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-1778-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1778-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n</code></pre></div></div></div></details><div class=\"card-result-process\" data-all-results><h5>完了した結果をすべて保存</h5><p class=\"note-s\">完了した画像をすべて保存してください。返された各URLから取得するか、Base64の内容をデコードしてください。</p><p class=\"note-s\">レスポンスとヘッダーの全体、実際の出力すべて、最初に返された識別子、使用量フィールドすべてを保存してください。作成リクエストを再送せずに、元の操作を復旧してください。</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>元のレスポンスを確認する場合</h5><p class=\"note-s\">照合のため、返された X-Client-Request-ID を保存してください。実際に返された task_id/asset_id の値、または自分が所有するメディアライブラリだけを使って読み取ってください。操作 ID からタスクの URL を組み立てたり、作成リクエストを再送したりしないでください。</p></div><details class=\"card-about\" data-output-fields><summary>レスポンスのフィールド</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>フィールド</th><th>種類</th></tr></thead><tbody><tr><th data-cell-label=\"フィールド\" scope=\"row\"><span class=\"card-cell-label\">フィールド</span><code class=\"card-field-name\">created</code></th><td data-cell-label=\"種類\" data-field-type><span class=\"card-cell-label\">種類</span></td></tr><tr><th data-cell-label=\"フィールド\" scope=\"row\"><span class=\"card-cell-label\">フィールド</span><code class=\"card-field-name\">data[].url</code></th><td data-cell-label=\"種類\" data-field-type><span class=\"card-cell-label\">種類</span></td></tr><tr><th data-cell-label=\"フィールド\" scope=\"row\"><span class=\"card-cell-label\">フィールド</span><code class=\"card-field-name\">data[].b64_json</code></th><td data-cell-label=\"種類\" data-field-type><span class=\"card-cell-label\">種類</span></td></tr><tr><th data-cell-label=\"フィールド\" scope=\"row\"><span class=\"card-cell-label\">フィールド</span><code class=\"card-field-name\">usage</code></th><td data-cell-label=\"種類\" data-field-type><span class=\"card-cell-label\">種類</span></td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">エイリアス</h3><h4>モデルのエイリアス</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=krea%2Fkrea-2-medium-turbo&amp;route=Ultra&amp;caller=krea%2Fkrea-2-medium-turbo&amp;fmt=images\"><code>krea/krea-2-medium-turbo</code></a></span></p><h4>メソッドパスのエイリアス</h4><p class=\"note-s\"><code>/v1/images</code></p><h4>関連する呼び出し用ID</h4><p class=\"note-s\"><a href=\"#m=krea%2Fkrea-2-medium-turbo&amp;route=Ultra&amp;caller=krea%2Fkrea-2-medium-turbo&amp;fmt=images\"><code>krea/krea-2-medium-turbo</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "krea/krea-2-medium-turbo",
        "fmt": "images",
        "http": "POST",
        "path": "/v1/images/generations",
        "request_model_id": "krea/krea-2-medium-turbo",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|images|/v1/images/generations|krea%2Fkrea-2-medium-turbo",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "billing_basis": {
          "basis": "original_invoice_usd",
          "description": "表示料金は生成前の費用の見積もりです。最終請求額は、元の生成処理に記録された費用から計算されます。実測された出力時間や予測数量が、そのまま最終的な課金数量になるわけではありません。",
          "forecast_quantity_is_estimate": true,
          "physical_output_is_billable_quantity": false,
          "version": "original_invoice_usd_v1"
        },
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed URL; never construct token"
                }
              ],
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "照合のため、返された X-Client-Request-ID を保存してください。実際に返された task_id/asset_id の値、または自分が所有するメディアライブラリだけを使って読み取ってください。操作 ID からタスクの URL を組み立てたり、作成リクエストを再送したりしないでください。"
            },
            "outputs": {
              "all_results": "レスポンスとヘッダーの全体、実際の出力すべて、最初に返された識別子、使用量フィールドすべてを保存してください。作成リクエストを再送せずに、元の操作を復旧してください。",
              "family": "image",
              "fields": [
                {
                  "description": null,
                  "name": "created",
                  "type": null
                },
                {
                  "description": null,
                  "name": "data[].url",
                  "type": null
                },
                {
                  "description": null,
                  "name": "data[].b64_json",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": null
                }
              ]
            },
            "parameters": [
              {
                "enum": [
                  "krea/krea-2-medium-turbo"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "min_length": 1,
                "name": "prompt",
                "required": true,
                "type": "string"
              },
              {
                "enum": [
                  "1K"
                ],
                "enum_known": true,
                "name": "resolution",
                "required": false,
                "type": "string"
              },
              {
                "enum": [
                  "1:1",
                  "4:3",
                  "3:2",
                  "16:9",
                  "4:5",
                  "2:3",
                  "9:16"
                ],
                "enum_known": true,
                "name": "aspect_ratio",
                "required": false,
                "type": "string"
              },
              {
                "items": {
                  "properties": {
                    "image_url": {
                      "properties": {
                        "url": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "url"
                      ],
                      "type": "object"
                    },
                    "type": {
                      "const": "image_url"
                    }
                  },
                  "required": [
                    "type",
                    "image_url"
                  ],
                  "type": "object"
                },
                "maximum_items": 1,
                "minimum_items": 0,
                "name": "input_references",
                "required": false,
                "type": "array"
              },
              {
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "aspect_ratio": {
                  "enum": [
                    "1:1",
                    "4:3",
                    "3:2",
                    "16:9",
                    "4:5",
                    "2:3",
                    "9:16"
                  ],
                  "type": "string"
                },
                "input_references": {
                  "items": {
                    "properties": {
                      "image_url": {
                        "properties": {
                          "url": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "url"
                        ],
                        "type": "object"
                      },
                      "type": {
                        "const": "image_url"
                      }
                    },
                    "required": [
                      "type",
                      "image_url"
                    ],
                    "type": "object"
                  },
                  "maxItems": 1,
                  "minItems": 0,
                  "type": "array"
                },
                "model": {
                  "enum": [
                    "krea/krea-2-medium-turbo"
                  ],
                  "type": "string"
                },
                "prompt": {
                  "minLength": 1,
                  "type": "string"
                },
                "provider": {
                  "description": "Exact image provider preferences from the documented image request schema.",
                  "type": "object"
                },
                "resolution": {
                  "enum": [
                    "1K"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "prompt"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "model": "krea/krea-2-medium-turbo",
                "prompt": "a red panda astronaut floating in space, studio lighting"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text",
              "image"
            ],
            "required": [
              "model",
              "prompt"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed URL; never construct token"
              }
            ],
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "status": [
              {
                "http": "GET",
                "id_source": "実際に返された task_id またはメディアライブラリのレコード",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Keep the returned X-Client-Request-ID for reconciliation. Read only actual returned task_id/asset_id values or the owned media library; never build a task URL from the operation ID and never resubmit creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/images/generations"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "image",
            "fields": [
              {
                "description": null,
                "name": "created",
                "type": null
              },
              {
                "description": null,
                "name": "data[].url",
                "type": null
              },
              {
                "description": null,
                "name": "data[].b64_json",
                "type": null
              },
              {
                "description": null,
                "name": "usage",
                "type": null
              }
            ]
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "basis": "この見積もりは追加料金ではなく、完了した生成処理に対する固定料金でもありません。",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "生成費用の見積もり",
            "units": [
              {
                "amount": "0.03",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.03",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np={'model': 'krea/krea-2-medium-turbo', 'prompt': 'a red panda astronaut floating in space, studio lighting'}\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport base64, json, os, subprocess\nfrom pathlib import Path\nfrom urllib.parse import urlsplit, urljoin\n\ndef save_images(items):\n    if not items: raise SystemExit(\"No completed images; retain the full response\")\n    for index, item in enumerate(items):\n        encoded=item.get(\"b64_json\")\n        uri=item.get(\"url\", \"\")\n        if not encoded and uri.startswith(\"data:image/\"):\n            header, separator, encoded=uri.partition(\",\")\n            if not separator or \";base64\" not in header: raise SystemExit(\"Unsupported image data URI\")\n        if encoded:\n            raw=base64.b64decode(encoded,validate=True)\n        elif uri:\n            uri=urljoin(\"https://api.ailoot.ai\",uri)\n            parsed=urlsplit(uri)\n            if parsed.scheme!=\"https\" or not parsed.netloc or parsed.username or parsed.password:\n                raise SystemExit(\"Invalid returned image URL\")\n            owned=parsed.netloc==\"api.ailoot.ai\" and parsed.path.startswith(\"/v1/media/assets/\") and parsed.path.endswith(\"/content\")\n            args=[\"curl\",\"--fail-with-body\",\"--silent\",\"--show-error\",uri]\n            if owned: args += [\"-H\",\"Authorization: Bearer \"+os.environ[\"AILOOT_API_KEY\"]]\n            temporary=Path(f\"image-{index}.bin\")\n            subprocess.run(args+[\"-o\",str(temporary)],check=True)\n            raw=temporary.read_bytes()\n            temporary.unlink()\n        else: raise SystemExit(\"Image has neither bytes nor URL\")\n        if not raw: raise SystemExit(\"Empty image result\")\n        ext=\"png\" if raw.startswith(b\"\\x89PNG\") else \"jpg\" if raw.startswith(b\"\\xff\\xd8\") else \"webp\" if raw[:4]==b\"RIFF\" and raw[8:12]==b\"WEBP\" else \"svg\" if raw.lstrip().startswith((b\"<svg\",b\"<?xml\")) else \"bin\"\n        Path(f\"image-{index}.{ext}\").write_bytes(raw)\n    print(\"Every returned image saved; complete response metadata retained\")\nsave_images(json.loads(Path(\"result.json\").read_text())[\"data\"])\nPY_RESULT\n",
            "label": "curl · exact creation/save all outputs",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n",
            "label": "Read existing owned assets",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "images",
        "hints": [
          "Use the exact caller model ID and documented input representation.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text",
          "image"
        ],
        "label": "画像",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [
          "/v1/images"
        ],
        "native_endpoint": "images",
        "out": null,
        "output": [
          "image"
        ],
        "path": "/v1/images/generations",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "original_invoice_usd",
          "image_input_price": null,
          "image_output_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "basis": "This estimate is not an additional charge or a fixed rate for the completed generation.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Estimated generation cost",
            "units": [
              {
                "amount": "0.03",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.03",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "request_model_id": "krea/krea-2-medium-turbo",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.03",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.03",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ]
      }
    }
  ],
  "model_id": "krea/krea-2-medium-turbo",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "027b7fa3cccac3fcf9eefd51fd3ff5c0d381d907ffcae2ef5bf848a43445792b",
    "input_html_sha256": "37ad421aa2950f313db216ca7f6f2961b705f59128631b6d065d51f18d46858b",
    "private_audit_sha256": "cb49e1d81548666cb5e1c97323ad61b50b446154be041b10e58e9aea97ddfaff",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/ja/krea-krea-2-medium-turbo/",
    "description": "Krea 2 Medium Turboは、ビジュアル案の探索と表現豊かな草案制作向けの、Kreaの高速画像生成エディションです。蒸留したサンプリングスケジュールに、テキスト、元画像、スタイルの制御を組み合わせ、強度、複雑さ、暗示される動きを独立に調整できます。",
    "locale": "ja",
    "md_url": "https://ailoot.ai/models/ja/krea-krea-2-medium-turbo/index.md",
    "title": "Krea: Krea 2 Medium Turbo — Ailoot",
    "url": "https://ailoot.ai/models/ja/krea-krea-2-medium-turbo/"
  },
  "rawModel": {
    "about": "### Krea 2 ファミリーで素早く方向性を探る\n\nKrea 2 Medium Turbo は、Krea が Krea 2 Turbo として紹介する生成エディションです。モデル固有のインターフェースでは Medium Turbo バリアントとされ、Krea のユーザーガイドは、画像生成に必要な処理を減らす蒸留されたサンプリングスケジュールを説明しています。Krea は、幅広いクリエイティブの検討、表現性のあるラフ、イラスト、グラフィックの方向性を探るための、ファミリー内で最も速い選択肢として位置付けています。\n\n表紙の構図案、キャンペーンの視覚表現、同じシーンに対する異なるイラストスタイルなど、まずアイデアを比較したいときに使います。簡潔で具体的な最初の指示は比較を容易にします。例えば、「淡い青の机の上に浮かぶ、赤い紙を折った鳥。大胆なエディトリアルイラスト、午後の硬い影、単純な幾何学形状、下部に明確な余白を持つ縦構図」です。被写体と画面の枠組みを維持して視覚表現を検討し、選んだ方向をさらに発展させます。\n\nKrea のエディション別ガイドでは、より安定したイラスト表現には Medium、写真調や素材感を生かした仕上げには Large を勧めています。Turbo は独立したエディションです。後で別のモデルを使う処理は、別の生成であり、自動的な画質向上や同一の継続処理ではありません。\n\n### プロンプトと視覚入力を準備する\n\nモデルの生成スキーマでは、prompt、aspect ratio、resolution が必須です。任意の image-to-image 入力を使うと、純粋なノイズではなく元画像から生成を開始します。denoising strength は 0 から 1 の範囲で、0 は入力を維持し、1 は完全に置き換えます。文書化された既定値は 0.99 です。初期構図を慎重に用意し、変えるべき内容を説明してください。高い強度では、元画像が大幅に置き換わる可能性があります。\n\nスタイル参照は、開始画像の強度を変えるのではなく、画像を通じて外観を指定します。モデル固有のスキーマでは、元画像とスタイル参照の URI 文字列を 1,024 文字までに制限しています。モデル固有のリクエストスキーマは最大十個の参照を受け取り、それぞれの influence は 0 から 1、既定値は 0.5 です。配色、描画の表現、照明の方向など、役割が明確な参照を選びます。別の Krea ワークスペースガイドでは、そのインターフェースのスタイル参照は最大四個と説明されています。それぞれのインターフェースの制限に従って準備してください。\n\nムードボードは、統一された視覚的な方向性を再利用できる入力にまとめます。先にムードボードを作り、生成時には既存の識別子を使います。モデルのスキーマは一つのムードボードを受け取り、influence は 0 から 1、既定値は 0.23 です。通常 LoRAs に当たる学習済みスタイルは、識別子と -2 から 2 の strength で選ぶ別の入力です。元画像、スタイル参照、ムードボード、学習済みスタイルには異なる役割があります。全ての詳細を保つための同じ手段として扱わないでください。\n\n### Creativity と三つの視覚スライダーを調整する\n\nCreativity はプロンプトの拡張を制御します。Raw は拡張を無効にし、low、medium、high は指示をどこまで解釈して広げるかを変えます。モデル固有のスキーマの既定値は low です。正確な指示を比較する際は控えめな設定を使い、より幅広いアイデアを探る際は解釈の幅を広げます。\n\nIntensity、Complexity、Movement は、それぞれ -100 から 100 の独立した整数スライダーで、0 が中立です。Intensity は控えめな表現と強い表現の間を調整します。Complexity は単純な構図と密度の高い詳細の間を調整します。Movement はポーズ、視覚的な活力、暗示される動きを変えます。これらは参照やムードボードと組み合わせられ、Creativity のプロンプト拡張とは別の設定です。\n\n紙の鳥の指示では、まず他の設定を固定したまま、すっきりした構図と細部の多い構図を比べます。次に、より強い視覚表現や、より活力のあるポーズを試します。一度に変える設定は一つにし、任意の seed、prompt、参照の組み合わせを記録します。Movement が変えるのは静止画像の印象です。鳥のアニメーション、カメラ移動、動画シーケンスを生成するわけではありません。\n\n### フレーム、バッチ、完成画像\n\nモデル固有の生成スキーマは、1K の解像度スケールと、1:1、4:3、3:2、16:9、2.35:1、4:5、3:4、2:3、9:16 の九つのアスペクト比を用意しています。Krea の Turbo ワークスペースガイドには、バッチで最大四枚の画像を生成する説明もあります。このバッチ設定は、文書化されたワークスペースの処理に属し、個別の生成リクエストスキーマとは区別されます。\n\n生成前に、用途に合わせて画面比率を選びます。縦長の表紙と横長のエディトリアル画像では、被写体と余白のバランスが異なります。生成時のスケールと、その後の高精細化や完成レイアウトの書き出しは分けて考えてください。\n\nKrea の文書化された生成フローは、最初は pending の場合もあるジョブを返します。完了までジョブを追跡し、結果の画像の場所を取得します。完成した候補を構図、形、質感、配色、見える文字で比較し、選んだ画像を入力と設定と共に保存してください。正確な文字組みが必要なら、最終デザインで配置や修正を行います。\n\nTurbo の素早い検討という役割は、特定の完了時間、完璧な文字、参照画像の正確な再現を保証しません。元画像の強度や参照の影響は、結果を確認する必要があります。このエディションで視覚的な方向性を効率よく定め、具体的な候補を選び、用途に必要な細部、レイアウト、制作上の修正を加えてください。",
    "alias_of": null,
    "aliases": [],
    "author": "Krea",
    "capabilities": {
      "context_length": 65536,
      "manufacturer_input": [
        "text",
        "image"
      ],
      "manufacturer_output": [
        "image"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.03",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.03",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ],
        "summary": "構成の料金情報はすべて詳細で確認できます。"
      }
    ],
    "ctx": null,
    "formats": [
      "images"
    ],
    "id": "krea/krea-2-medium-turbo",
    "input": [
      "text",
      "image"
    ],
    "kind": "image",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "billing_basis": {
          "basis": "original_invoice_usd",
          "description": "表示料金は生成前の費用の見積もりです。最終請求額は、元の生成処理に記録された費用から計算されます。実測された出力時間や予測数量が、そのまま最終的な課金数量になるわけではありません。",
          "forecast_quantity_is_estimate": true,
          "physical_output_is_billable_quantity": false,
          "version": "original_invoice_usd_v1"
        },
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed URL; never construct token"
                }
              ],
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "照合のため、返された X-Client-Request-ID を保存してください。実際に返された task_id/asset_id の値、または自分が所有するメディアライブラリだけを使って読み取ってください。操作 ID からタスクの URL を組み立てたり、作成リクエストを再送したりしないでください。"
            },
            "outputs": {
              "all_results": "レスポンスとヘッダーの全体、実際の出力すべて、最初に返された識別子、使用量フィールドすべてを保存してください。作成リクエストを再送せずに、元の操作を復旧してください。",
              "family": "image",
              "fields": [
                {
                  "description": null,
                  "name": "created",
                  "type": null
                },
                {
                  "description": null,
                  "name": "data[].url",
                  "type": null
                },
                {
                  "description": null,
                  "name": "data[].b64_json",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": null
                }
              ]
            },
            "parameters": [
              {
                "enum": [
                  "krea/krea-2-medium-turbo"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "min_length": 1,
                "name": "prompt",
                "required": true,
                "type": "string"
              },
              {
                "enum": [
                  "1K"
                ],
                "enum_known": true,
                "name": "resolution",
                "required": false,
                "type": "string"
              },
              {
                "enum": [
                  "1:1",
                  "4:3",
                  "3:2",
                  "16:9",
                  "4:5",
                  "2:3",
                  "9:16"
                ],
                "enum_known": true,
                "name": "aspect_ratio",
                "required": false,
                "type": "string"
              },
              {
                "items": {
                  "properties": {
                    "image_url": {
                      "properties": {
                        "url": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "url"
                      ],
                      "type": "object"
                    },
                    "type": {
                      "const": "image_url"
                    }
                  },
                  "required": [
                    "type",
                    "image_url"
                  ],
                  "type": "object"
                },
                "maximum_items": 1,
                "minimum_items": 0,
                "name": "input_references",
                "required": false,
                "type": "array"
              },
              {
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "aspect_ratio": {
                  "enum": [
                    "1:1",
                    "4:3",
                    "3:2",
                    "16:9",
                    "4:5",
                    "2:3",
                    "9:16"
                  ],
                  "type": "string"
                },
                "input_references": {
                  "items": {
                    "properties": {
                      "image_url": {
                        "properties": {
                          "url": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "url"
                        ],
                        "type": "object"
                      },
                      "type": {
                        "const": "image_url"
                      }
                    },
                    "required": [
                      "type",
                      "image_url"
                    ],
                    "type": "object"
                  },
                  "maxItems": 1,
                  "minItems": 0,
                  "type": "array"
                },
                "model": {
                  "enum": [
                    "krea/krea-2-medium-turbo"
                  ],
                  "type": "string"
                },
                "prompt": {
                  "minLength": 1,
                  "type": "string"
                },
                "provider": {
                  "description": "Exact image provider preferences from the documented image request schema.",
                  "type": "object"
                },
                "resolution": {
                  "enum": [
                    "1K"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "prompt"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "model": "krea/krea-2-medium-turbo",
                "prompt": "a red panda astronaut floating in space, studio lighting"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text",
              "image"
            ],
            "required": [
              "model",
              "prompt"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed URL; never construct token"
              }
            ],
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "status": [
              {
                "http": "GET",
                "id_source": "実際に返された task_id またはメディアライブラリのレコード",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Keep the returned X-Client-Request-ID for reconciliation. Read only actual returned task_id/asset_id values or the owned media library; never build a task URL from the operation ID and never resubmit creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/images/generations"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "image",
            "fields": [
              {
                "description": null,
                "name": "created",
                "type": null
              },
              {
                "description": null,
                "name": "data[].url",
                "type": null
              },
              {
                "description": null,
                "name": "data[].b64_json",
                "type": null
              },
              {
                "description": null,
                "name": "usage",
                "type": null
              }
            ]
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "basis": "この見積もりは追加料金ではなく、完了した生成処理に対する固定料金でもありません。",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "生成費用の見積もり",
            "units": [
              {
                "amount": "0.03",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.03",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np={'model': 'krea/krea-2-medium-turbo', 'prompt': 'a red panda astronaut floating in space, studio lighting'}\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport base64, json, os, subprocess\nfrom pathlib import Path\nfrom urllib.parse import urlsplit, urljoin\n\ndef save_images(items):\n    if not items: raise SystemExit(\"No completed images; retain the full response\")\n    for index, item in enumerate(items):\n        encoded=item.get(\"b64_json\")\n        uri=item.get(\"url\", \"\")\n        if not encoded and uri.startswith(\"data:image/\"):\n            header, separator, encoded=uri.partition(\",\")\n            if not separator or \";base64\" not in header: raise SystemExit(\"Unsupported image data URI\")\n        if encoded:\n            raw=base64.b64decode(encoded,validate=True)\n        elif uri:\n            uri=urljoin(\"https://api.ailoot.ai\",uri)\n            parsed=urlsplit(uri)\n            if parsed.scheme!=\"https\" or not parsed.netloc or parsed.username or parsed.password:\n                raise SystemExit(\"Invalid returned image URL\")\n            owned=parsed.netloc==\"api.ailoot.ai\" and parsed.path.startswith(\"/v1/media/assets/\") and parsed.path.endswith(\"/content\")\n            args=[\"curl\",\"--fail-with-body\",\"--silent\",\"--show-error\",uri]\n            if owned: args += [\"-H\",\"Authorization: Bearer \"+os.environ[\"AILOOT_API_KEY\"]]\n            temporary=Path(f\"image-{index}.bin\")\n            subprocess.run(args+[\"-o\",str(temporary)],check=True)\n            raw=temporary.read_bytes()\n            temporary.unlink()\n        else: raise SystemExit(\"Image has neither bytes nor URL\")\n        if not raw: raise SystemExit(\"Empty image result\")\n        ext=\"png\" if raw.startswith(b\"\\x89PNG\") else \"jpg\" if raw.startswith(b\"\\xff\\xd8\") else \"webp\" if raw[:4]==b\"RIFF\" and raw[8:12]==b\"WEBP\" else \"svg\" if raw.lstrip().startswith((b\"<svg\",b\"<?xml\")) else \"bin\"\n        Path(f\"image-{index}.{ext}\").write_bytes(raw)\n    print(\"Every returned image saved; complete response metadata retained\")\nsave_images(json.loads(Path(\"result.json\").read_text())[\"data\"])\nPY_RESULT\n",
            "label": "curl · exact creation/save all outputs",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n",
            "label": "Read existing owned assets",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "images",
        "hints": [
          "Use the exact caller model ID and documented input representation.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text",
          "image"
        ],
        "label": "画像",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [
          "/v1/images"
        ],
        "native_endpoint": "images",
        "out": null,
        "output": [
          "image"
        ],
        "path": "/v1/images/generations",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "original_invoice_usd",
          "image_input_price": null,
          "image_output_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "basis": "This estimate is not an additional charge or a fixed rate for the completed generation.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Estimated generation cost",
            "units": [
              {
                "amount": "0.03",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.03",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "request_model_id": "krea/krea-2-medium-turbo",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.03",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.03",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "krea/krea-2-medium-turbo",
        "request_model_id": "krea/krea-2-medium-turbo",
        "route_label": "Ultra"
      }
    ],
    "name": "Krea: Krea 2 Medium Turbo",
    "price": {
      "estimate_only": true,
      "in": null,
      "in_label": null,
      "out": 0.03,
      "out_label": "estimate before generation",
      "scope_label": "Estimated generation cost",
      "sort_in": null,
      "sort_out": 0.03,
      "varies": false
    },
    "short": "Krea 2 Medium Turboは、ビジュアル案の探索と表現豊かな草案制作向けの、Kreaの高速画像生成エディションです。蒸留したサンプリングスケジュールに、テキスト、元画像、スタイルの制御を組み合わせ、強度、複雑さ、暗示される動きを独立に調整できます。"
  },
  "renderer_schema": {
    "method_order": "Original DTO methods order; every exact route/format/path/caller survives.",
    "prices": "Original public DTO fields and original native display HTML; no flattened or normalized offers."
  },
  "representation": "exact-public-dto-and-native-renderer-html",
  "representationNotes": {
    "current_reference": {
      "about_json_pointer": "/aboutHtml",
      "methods": [
        {
          "contract_json_pointer": "/methods/0/rawMethod/contract",
          "html_json_pointer": "/methods/0/html",
          "method_ordinal": 0
        }
      ],
      "role": "current-semantic-reference"
    },
    "raw_input": {
      "examples_role": "historical-input-not-current-ready-examples",
      "json_pointers": [
        "/rawModel",
        "/methods/0/rawMethod"
      ],
      "role": "historical-owner-input"
    },
    "schema": "ailoot-native-model-representations-v1"
  },
  "schema": "ailoot-static-model-facts-v1",
  "schema_version": 1,
  "shortText": "Krea 2 Medium Turboは、ビジュアル案の探索と表現豊かな草案制作向けの、Kreaの高速画像生成エディションです。蒸留したサンプリングスケジュールに、テキスト、元画像、スタイルの制御を組み合わせ、強度、複雑さ、暗示される動きを独立に調整できます。",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "868a5e0e892477127676d2978fd290c539f841d84d624f2a778f8e1b36c4867a",
    "renderer_sha256": "b06e5309d3e585ab5fe0535c1a8bd6320bdc357ea8509c2389320e8fa40c36e5"
  },
  "sourceRevision": "ba184d40d489fcddc77e50261138b9a6e66487425214277f1ad8910c76cce81a"
}
