vertexai/gemini-3.8-flash の API リファレンスです。これは Google から Comfy Router によって提供されます。
クイックスタート
Comfy ワークスペースでキーを作成し、COMFY_API_KEY としてエクスポートします。Python と TypeScript のスニペットは Comfy SDK(pip install comfy-sdk と npm install @comfyorg/sdk)を使用します。cURL スニペットは同じ呼び出しを生の HTTP で行うものです。
モデル ID: vertexai/gemini-3.8-flash
エンドポイント: POST https://api.comfy.org/v2/models/vertexai/gemini-3.8-flash
- 結果を待つ
- キューに送信して後で取得
同じボディを
POST https://api.comfy.org/v2/models/vertexai/gemini-3.8-flash/requests に送信します。Router は実行が受け付けられ次第 201 と request_id を返し、結果は準備が整った時点で、このプロセスからでも別のプロセスからでも取得できます。キュー配信では、ステータス、キャンセル、結果の取得について説明しています。スキーマ
入力
object[]
必須
モデルとの現在の会話のコンテンツ。単一ターンのクエリでは単一のインスタンスになります。マルチターンのクエリでは、会話履歴と最新のリクエストを含む繰り返しフィールドになります。
object[]
必須
object
URI ベースのデータ。
string
URI
string
data フィールドまたは fileUri フィールドで指定されたファイルのメディアタイプ。指定できる値は次のとおりです。gemini-2.0-flash-lite と gemini-2.0-flash では、オーディオファイルの最大長は 8.4 時間、ビデオファイル(音声なし)の最大長は 1 時間です。詳細については、Gemini のオーディオとビデオの要件を参照してください。テキストファイルは UTF-8 でエンコードされている必要があります。テキストファイルのコンテンツはトークン制限にカウントされます。画像の解像度に制限はありません。指定可能な値:
application/pdf, audio/mpeg, audio/mp3, audio/wav, image/png, image/jpeg, image/webp, text/plain, video/mov, video/mpeg, video/mp4, video/mpg, video/avi, video/wmv, video/mpegps, video/flv, image/heic, image/heif, audio/flac, video/webmobject
生のバイトによるインラインデータ。gemini-2.0-flash-lite と gemini-2.0-flash では、inlineData を使用して最大 3000 枚の画像を指定できます。
string (byte)
プロンプトにインラインで含める画像、PDF、またはビデオの base64 エンコード。メディアをインラインで含める場合は、データのメディアタイプ(mimeType)も指定する必要があります。サイズ制限: 20MBフォーマット:
bytestring
data フィールドまたは fileUri フィールドで指定されたファイルのメディアタイプ。指定できる値は次のとおりです。gemini-2.0-flash-lite と gemini-2.0-flash では、オーディオファイルの最大長は 8.4 時間、ビデオファイル(音声なし)の最大長は 1 時間です。詳細については、Gemini のオーディオとビデオの要件を参照してください。テキストファイルは UTF-8 でエンコードされている必要があります。テキストファイルのコンテンツはトークン制限にカウントされます。画像の解像度に制限はありません。指定可能な値:
application/pdf, audio/mpeg, audio/mp3, audio/wav, image/png, image/jpeg, image/webp, text/plain, video/mov, video/mpeg, video/mp4, video/mpg, video/avi, video/wmv, video/mpegps, video/flv, image/heic, image/heif, audio/flac, video/webmstring
モデルがこのパートのビデオをどのように読み取るか。“AGENTIC” を設定すると、固定レートのフレームサンプリングではなく、モデルが検査するセグメントを判断します。省略すると、デフォルトの固定レートサンプリングになります。gemini-3.7-flash 以降の Flash モデルでサポートされています。
string
テキストプロンプトまたはコードスニペット。
boolean
このパートがモデルによる思考/推論のステップであることを示します。
string
指定可能な値:
user, modelobject
生成のためのサンプリング、長さ、出力の設定。すべてのフィールドは任意です。以下で
default を宣言しているフィールドは省略時にそれが適用され、それ以外のフィールドはモデル自身の動作にフォールバックします。object
画像生成の設定
string
生成される画像のアスペクト比
object
任意。生成される画像の画像出力フォーマット。
integer
任意。出力画像の圧縮品質。
string
任意。出力を保存する画像フォーマット。Vertex AI のパス、すなわち Comfy 独自の認証情報で処理されるリクエストと、GCP サービスアカウントで認証される BYOK リクエストで使用されます。そこでの許容値は
image/png と image/jpeg で、大文字小文字を区別せずに照合され、リクエストが転送される前に小文字に正規化されます。それ以外の値は、このフィールドを名指しした 400 で拒否されます。省略時は image/png がデフォルトです。Google AI Studio の APIキーで認証される BYOK リクエストは例外です。その上流にはそのようなプロパティが存在せず、指定されていると呼び出し全体を拒否するため、このフィールドは尊重も拒否もされずにリクエストから削除され、出力フォーマットは AI Studio が選択したものになります。どのパスでも、送信した値を前提とせず、返されたレスポンスパート(inlineData.mimeType、または uploadImagesToStorage が設定されている場合は fileData.mimeType)からメディアタイプを読み取ってください。string
任意。生成される画像のサイズを指定します。サポートされる値は 1K、2K、4K です。指定しない場合、モデルはデフォルト値の 1K を使用します。
integer
レスポンスで生成できるトークンの最大数。1 トークンは約 4 文字です。100 トークンはおよそ 60~80 語に相当します。範囲:
16 から 65536`TEXT`, `IMAGE`[]
integer
When seed is fixed to a specific value, the model makes a best effort to provide the same response for repeated requests. Deterministic output isn’t guaranteed. Also, changing the model or parameter settings, such as the temperature, can cause variations in the response even when you use the same seed value. By default, a random seed value is used. Available for the following models:, gemini-2.5-flash, gemini-2.5-pro, gemini-2.5-flash-preview-04-1, gemini-2.5-pro-preview-05-0, gemini-2.0-flash-lite-00, gemini-2.0-flash-001
string[]
number
デフォルト:"1"
temperature は応答生成中のサンプリングに使用され、topP と topK が適用されるときに機能します。temperature はトークン選択におけるランダム性の度合いを制御します。低い temperature は、あまり自由すぎない、または創造的でない応答を必要とするプロンプトに適しており、高い temperature はより多様で創造的な結果につながります。temperature が 0 の場合、常に最も確率の高いトークンが選択されます。この場合、特定のプロンプトに対する応答はほぼ決定的になりますが、ごくわずかなばらつきが生じる可能性は残ります。モデルが一般的すぎる応答や短すぎる応答を返す場合、またはモデルがフォールバック応答を返す場合は、temperature を上げてみてください範囲:
0 から 2形式: floatobject
オプション。thinking 機能の設定です。thinking とは、モデルが複雑なタスクをより小さなステップに分解して、より高品質な応答を生成するプロセスです。
boolean
オプション。true の場合、モデルは自身の思考を応答に含めます。
integer
オプション。モデルの思考プロセスに割り当てるトークン予算です。モデルはこの予算内に収まるよう最善を尽くします。
string
オプション。モデルの thinking レベルです。使用可能な値:
THINKING_LEVEL_UNSPECIFIED, LOW, MEDIUM, HIGH, MINIMALinteger
デフォルト:"40"
Top-K は、モデルが出力するトークンをどのように選択するかを変更します。top-K が 1 の場合、次に選択されるトークンはモデルの語彙内のすべてのトークンの中で最も確率の高いものになります。top-K が 3 の場合、temperature を使用して、最も確率の高い 3 つのトークンの中から次のトークンが選択されます。範囲:
1 から …number
デフォルト:"0.95"
指定した場合、nucleus サンプリングが使用されます。
Top-P は、モデルが出力するトークンをどのように選択するかを変更します。トークンは、その確率の合計が top-P の値に達するまで、最も確率の高いもの (top-K を参照) から最も低いものへと選択されます。たとえば、トークン A、B、C の確率がそれぞれ 0.3、0.2、0.1 で、top-P の値が 0.5 の場合、モデルは temperature を使用して A または B のいずれかを次のトークンとして選択し、C は候補から除外されます。
ランダム性の低い応答には低い値を、ランダム性の高い応答には高い値を指定してください。範囲:
0 から 1形式: floatobject[]
安全でないコンテンツをブロックするためのリクエストごとの設定。GenerateContentResponse.candidates に対して適用されます。
string
必須
使用可能な値:
HARM_CATEGORY_SEXUALLY_EXPLICIT, HARM_CATEGORY_HATE_SPEECH, HARM_CATEGORY_HARASSMENT, HARM_CATEGORY_DANGEROUS_CONTENTstring
必須
使用可能な値:
OFF, BLOCK_NONE, BLOCK_LOW_AND_ABOVE, BLOCK_MEDIUM_AND_ABOVE, BLOCK_ONLY_HIGHobject
モデルをより良いパフォーマンスへ導くための指示。たとえば「できるだけ簡潔に回答してください」や「回答で専門用語を使用しないでください」などです。テキスト文字列はトークン上限にカウントされます。systemInstruction の role フィールドは無視され、モデルのパフォーマンスには影響しません。注: parts にはテキストのみを使用し、各 part のコンテンツは別々の段落にしてください。
object[]
必須
1 つのメッセージを構成する順序付けられた parts のリスト。part ごとに異なる IANA MIME タイプを持つ場合があります。最大トークン数や画像数などの入力の上限については、Google のモデルページにあるモデル仕様を参照してください。
string
テキストプロンプトまたはコードスニペット。
string
メッセージを作成するエンティティの識別情報。次の値がサポートされています: user: メッセージが実在の人物によって送信されたことを示します。通常はユーザーが生成したメッセージです。model: メッセージがモデルによって生成されたことを示します。model 値は、マルチターンの会話中にモデルからのメッセージを会話に挿入するために使用されます。マルチターンでない会話では、このフィールドは空欄または未設定のままにできます。使用可能な値:
user, modelobject[]
モデルの知識と範囲の外でアクションまたはアクションのセットを実行するために、システムが外部システムと連携できるようにするコード。Function calling を参照してください。
object[]
string
string
必須
object
関数のパラメータの JSON スキーマ
boolean
true の場合、生成済みの画像はクラウドストレージにアップロードされ、インラインの base64 データではなく署名付き URL として返されます。URL は 24 時間後に有効期限が切れます。
object
ビデオ入力の場合、ビデオの開始と終了のオフセットを Duration 形式で指定します。たとえば、1:00 から始まる 10 秒のクリップを指定するには、“startOffset”: { “seconds”: 60 } と “endOffset”: { “seconds”: 70 } を設定します。メタデータは、ビデオデータが inlineData または fileData で提示されている場合にのみ指定してください。
object
ビデオのタイムライン位置に対する再生時間のオフセットを表します。
integer
ナノ秒解像度での秒の符号付き小数部。小数を含む負の秒の値であっても、nanos の値は非負でなければなりません。範囲:
0 ~ 999999999integer
期間の符号付き秒数。-315,576,000,000 から +315,576,000,000 まで(両端を含む)でなければなりません。範囲:
-315576000000 ~ 315576000000object
ビデオのタイムライン位置に対する再生時間のオフセットを表します。
integer
ナノ秒解像度での秒の符号付き小数部。小数を含む負の秒の値であっても、nanos の値は非負でなければなりません。範囲:
0 ~ 999999999integer
期間の符号付き秒数。-315,576,000,000 から +315,576,000,000 まで(両端を含む)でなければなりません。範囲:
-315576000000 ~ 315576000000GET /v2/models/vertexai/gemini-3.8-flash/openapi.json で提供するスキーマから生成されたものです。これは、リクエストがプロバイダーに到達する前に Router が呼び出しを検証する際に照合するドキュメントと同じものです。
出力
object[]
object
object[]
string[]
integer
string
string (date)
Format:
dateinteger
string
string
object
モデルとの現在の会話のコンテンツ。単一ターンのクエリでは単一のインスタンスです。マルチターンのクエリでは、会話履歴と最新のリクエストを含む繰り返しフィールドです。
object[]
必須
object
URI ベースのデータ。
string
URI
string
data または fileUri フィールドで指定されたファイルのメディアタイプ。指定可能な値は以下のとおりです。gemini-2.0-flash-lite および gemini-2.0-flash では、オーディオファイルの最大長は 8.4 時間、ビデオファイル(音声なし)の最大長は 1 時間です。詳細については、Gemini のオーディオとビデオの要件を参照してください。テキストファイルは UTF-8 でエンコードする必要があります。テキストファイルの内容はトークン上限にカウントされます。画像の解像度に制限はありません。Possible values:
application/pdf, audio/mpeg, audio/mp3, audio/wav, image/png, image/jpeg, image/webp, text/plain, video/mov, video/mpeg, video/mp4, video/mpg, video/avi, video/wmv, video/mpegps, video/flv, image/heic, image/heif, audio/flac, video/webmobject
生のバイト形式のインラインデータ。gemini-2.0-flash-lite および gemini-2.0-flash では、inlineData を使用して最大 3000 枚の画像を指定できます。
string (byte)
プロンプトにインラインで含める画像、PDF、またはビデオの base64 エンコード。メディアをインラインで含める場合は、データのメディアタイプ(mimeType)も指定する必要があります。サイズ制限: 20MBFormat:
bytestring
data または fileUri フィールドで指定されたファイルのメディアタイプ。指定可能な値は以下のとおりです。gemini-2.0-flash-lite および gemini-2.0-flash では、オーディオファイルの最大長は 8.4 時間、ビデオファイル(音声なし)の最大長は 1 時間です。詳細については、Gemini のオーディオとビデオの要件を参照してください。テキストファイルは UTF-8 でエンコードする必要があります。テキストファイルの内容はトークン上限にカウントされます。画像の解像度に制限はありません。Possible values:
application/pdf, audio/mpeg, audio/mp3, audio/wav, image/png, image/jpeg, image/webp, text/plain, video/mov, video/mpeg, video/mp4, video/mpg, video/avi, video/wmv, video/mpegps, video/flv, image/heic, image/heif, audio/flac, video/webmstring
モデルがこのパートのビデオを読み取る方法。“AGENTIC” を設定すると、固定レートのフレームサンプリングではなく、モデルが検査するセグメントを決定します。省略した場合はデフォルトの固定レートサンプリングになります。gemini-3.7-flash 以降の Flash モデルでサポートされています。
string
テキストプロンプトまたはコードスニペット。
boolean
このパートがモデルによる思考/推論ステップであることを示します。
string
Possible values:
user, modelstring
object[]
string
Possible values:
HARM_CATEGORY_SEXUALLY_EXPLICIT, HARM_CATEGORY_HATE_SPEECH, HARM_CATEGORY_HARASSMENT, HARM_CATEGORY_DANGEROUS_CONTENTstring
コンテンツが指定された安全性カテゴリに違反する確率Possible values:
NEGLIGIBLE, LOW, MEDIUM, HIGH, UNKNOWNstring
レスポンスが作成されたタイムスタンプ。
string
レスポンスの生成に使用されたモデルバージョン。
object
string
string
object[]
string
Possible values:
HARM_CATEGORY_SEXUALLY_EXPLICIT, HARM_CATEGORY_HATE_SPEECH, HARM_CATEGORY_HARASSMENT, HARM_CATEGORY_DANGEROUS_CONTENTstring
コンテンツが指定された安全性カテゴリに違反する確率指定可能な値:
NEGLIGIBLE, LOW, MEDIUM, HIGH, UNKNOWNstring
レスポンスの一意な識別子。
object
integer
出力のみ。入力のキャッシュ部分(キャッシュされたコンテンツ)に含まれるトークン数。
integer
レスポンスに含まれるトークン数。
object[]
モダリティ別の候補トークンの内訳。
string
入力または出力コンテンツのモダリティの種類。指定可能な値:
MODALITY_UNSPECIFIED, TEXT, IMAGE, VIDEO, AUDIO, DOCUMENTinteger
指定されたモダリティのトークン数。
integer
リクエストに含まれるトークン数。cachedContent が設定されている場合でも、これは有効なプロンプト全体のサイズであり、キャッシュされたコンテンツのトークン数も含まれます。
object[]
モダリティ別のプロンプトトークンの内訳。
string
入力または出力コンテンツのモダリティの種類。指定可能な値:
MODALITY_UNSPECIFIED, TEXT, IMAGE, VIDEO, AUDIO, DOCUMENTinteger
指定されたモダリティのトークン数。
integer
思考の出力に含まれるトークン数。
integer
ツール使用プロンプトに含まれるトークン数。
object[]
モダリティ別のツール使用プロンプトトークンの内訳。
string
入力または出力コンテンツのモダリティの種類。指定可能な値:
MODALITY_UNSPECIFIED, TEXT, IMAGE, VIDEO, AUDIO, DOCUMENTinteger
指定されたモダリティのトークン数。
integer
トークンの総数(プロンプト + 候補)。
string
リクエストに使用されたトラフィックの種類(例: PROVISIONED_THROUGHPUT)。
例
入力
出力
出荷前の確認
SDK はIdempotency-Key を生成し、自動リトライで再利用します。手動リトライでは元のキーを再利用してください。Router は最大 10 分間接続を保持できます。
リクエストが失敗すると、Router は理由を説明する X-Comfy-Error-Type レスポンスヘッダーを送信します。422 は、プロバイダーを呼び出す前に Router が入力を拒否したことを意味し、413 はリクエスト本文が Router の受け入れ可能なサイズを超えていたことを意味します。生成されたアセットは 結果 URL の有効期限 があるため、早めにダウンロードしてください。
上記のフィールド説明に記載されているサイズ制限は、プロバイダーの仕様から引用した、そのフィールドに対するプロバイダー自身の上限です。Router はリクエスト本文全体に対して別の上限を適用し、base64 エンコードされたメディアもこれにカウントされます。リクエスト本文のサイズ を参照してください。
このページは、Comfy Router 経由で呼び出す 1 つのパートナーモデルについて説明しています。同じ comfy-sdk / @comfyorg/sdk パッケージには、Comfy Cloud 上で ComfyUI のワークフローグラフ全体を実行するための 2 つ目のクライアントも含まれています: Comfy(api_key=...) / new Comfy({ apiKey })、および client.workflows、client.assets、client.jobs。Comfy SDKs を参照してください。
ヘッダー
認証、冪等性、リクエスト ID、エラー分類、リトライ間隔、支出上限。
Router API の利用
モデルの検出、バリデーションエラー、リトライ、課金。
制限事項
Router が現在対応していないことと、代替手段。