https://api.laozhang.ai にし、LaoZhang APIのキーを使ってください。
エンドポイントは次のとおりです。
messages を使っている場合は、代わりにOpenAIプロトコルでGeminiモデルを呼び出してください。
認証情報とモデルの選択
トークン管理でモデル用のAPIキーを作成します。課金方式は、従量優先(推奨。コンソールの表示は「按量优先」)または従量課金(「按量计费」)にしてください。作成したキーは、ターミナルで環境変数に設定します。gemini-3.8-flash を使います。トークングループで利用できるかどうかは、モデルと料金で確認してください。
Geminiネイティブのリクエストでは、Authorization: Bearer と x-goog-api-key のどちらの認証も使えます。Google Gen AI SDKは、APIキーのヘッダーを自動で付けます。
テキストを生成する
- cURL
- Python
Authorization ヘッダーを次の行に置き換えます。connected が含まれます。GoogleのSDKのベースURLに /v1 を付けたり、このエンドポイントでVertex AIのプロジェクト・ロケーション・パブリッシャーのパスを使ったりしないでください。
回答をストリーミングする
回答をストリーミングするには、同じ本文をhttps://api.laozhang.ai/v1beta/models/gemini-3.8-flash:streamGenerateContent?alt=sse に送ります。各server-sent eventには、同じ candidates 構造の部分的なレスポンスが入ります。
リクエストの構造
contents には、メッセージが順番に入ります。各メッセージには role と、1つ以上の parts があります。
REST JSONでは
inlineData や mimeType のようにcamelCaseを使います。Python SDKのプロパティは inline_data や mime_type のような名前です。呼び出すインターフェースに合った表記を使ってください。任意の設定とメディアへの対応は、モデルによって異なります。
画像を含める
gemini-3.8-flash のように画像入力に対応するモデルでは、同じメッセージにテキストのパートと inlineData のパートを入れます。次のコードは、ローカルの input.png を読み込み、JSONのリクエストを書き出します。
data には、data:image/png;base64, のプレフィックスを付けない、生のBase64を入れます。
画像の説明と画像の生成は別の操作です。Geminiの画像モデルで画像を作成・編集する方法は、Nano Bananaの概要を参照してください。OpenAI形式でビジョンモデルに画像を送る方法は、画像理解APIを参照してください。
PDFや音声ファイルを送る
PDFと音声も、画像と同じようにinlineData に入れます。変わるのは mimeType だけです。
次の例は、カレントディレクトリの
invoice.pdf を読み込みます。音声の場合は、ファイル名を audio.mp3 に、mimeType を audio/mp3 に変更し、プロンプトを調整してください。
- cURL
- Python SDK
リクエスト本文を書き出します。続いて、送信します。
usageMetadata.promptTokensDetails に AUDIO として表示されます。文字起こしだけが必要で、追加の推論が不要なら、音声文字起こしAPIも使えます。
動画を理解させる
MP4動画もinlineData に入れ、mimeType を video/mp4 にします。公開URLや公開されたYouTube動画は、代わりに fileData で渡します。モデルは、フレームと音声トラックを合わせて読み取ります。
- ローカルの動画を送る、または動画のURLを分析する。
- 動画をタイムスタンプ付きのチャプターに分ける、または構造化されたJSONを返す。
videoMetadataで区間を切り出す、またはフレームレートを変える。- 動画を比較する、回答をストリーミングする、OpenAI SDKで呼び出す。
レスポンスを読み取る
テキストの回答は、その他のメタデータを省くと、次のような形です。content.parts から読み取ります。パートが複数あることもあります。Python SDKの response.text ヘルパーは、テキストをまとめて取り出します。メディア、ツール呼び出し、会話履歴が必要なアプリケーションでは、候補のコンテンツ全体を保持してください。
レスポンスにテキストがない場合は、promptFeedback、finishReason、テキスト以外のパートを確認してください。コンテンツのブロック、出力の上限、ツール呼び出しは、ネットワークエラーとは別の処理が必要です。使用量の詳細は、含まれている場合は usageMetadata にあります。アカウントの課金額は呼び出しログで確認できます。
会話を続ける
contents に、前回のユーザーメッセージ、モデルの回答の全体、新しいユーザーメッセージを順に入れて送ります。Geminiではモデルの回答のロールは assistant ではなく model です。
モデルを使った処理を続けるときは、返ってきたパートを保持してください。thoughtSignature を返すモデルでは、署名を対応するパートに付けて、変更せずに返します。
ツール呼び出しに対応するモデルでは、それぞれの functionCall に対応する functionResponse を組にして返してください。テキストの要約では、ツール結果の構造の代わりにはなりません。これらのメッセージ形式は、GoogleのgenerateContentリファレンスを参照してください。
トラブルシューティング
- 401: APIキーと認証ヘッダーを確認してください。アカウント管理用のAccessTokenではなく、モデル用のAPIキーを使います。
- 404、またはモデルが見つからない:
v1beta、正確なモデルID、トークングループでのGeminiネイティブの利用権限を確認してください。 - 400:
contents、parts、メッセージのロール、メディアのエンコード、エラーに挙げられた任意の設定を確認してください。 - テキストのないレスポンス: candidates、finish reason、ブロックのフィードバック、テキスト以外のコンテンツを確認してください。
- 「Cannot fetch content from the provided URL」の400: 画像や動画のURLを直接ダウンロードできません。ログイン不要で、サイトの
robots.txtにブロックされていない公開の直リンクを使うか、inlineDataでファイルを送ってください。 - 413: リクエスト本文が大きすぎます。リクエスト全体を20MB以内に収め、大きなファイルは
fileDataでリンクを渡してください。 - ファイルのアップロードでWebページまたは404が返る: File APIは利用できません。代わりに
inlineDataかfileDataのURLを使ってください。 - cURLでは動くがSDKでは失敗する: SDKのベースURLとAPIバージョンを確認してください。最終的なURLには、
/v1beta/models/が1回だけ含まれるはずです。
よくある質問
Gemini APIの料金は? Googleアカウントは必要?
Googleアカウントも、AI StudioのAPIキーも不要です。LaoZhang APIのキーだけで利用でき、Geminiのテキストモデルは、プリペイド残高からトークン単位で課金されます。2026年10月14日時点の公開価格で、1Mトークンあたりの金額です。gemini-4-argon:入力$2、出力$10gemini-3.8-flash:入力$0.75、出力$3.75gemini-2.5-flash:入力$0.3、出力$2.4
429 が出るのは上流の処理能力によるものです。同時リクエストと429を参照してください。
OpenAI互換のエンドポイントで送れるメディアは?
/v1/chat/completions でGeminiモデルを使う場合は次のとおりです。
- 画像:
image_urlにURLまたはBase64のデータURLを入れて送ります。画像理解APIを参照してください。 - 動画:
video_urlにBase64のデータURLを入れて送ります。OpenAI SDKで呼び出すを参照してください。 fileパートのPDFとinput_audioパートの音声は破棄されます。リクエストは200を返しますが、モデルがファイルを見ないまま回答することがあります。代わりに、このページのinlineDataで送ってください。
GeminiモデルでResponses APIは使えますか?
いいえ。Geminiモデルは/v1/responses で400を返します。OpenAI SDKではChat Completionsを呼び出してください。PDF、音声、動画、動画のURLには、このページのネイティブエンドポイントを使います。
GoogleのFile APIには対応していますか?
いいえ。次のいずれも利用できません。/upload/v1beta/filesのアップロードエンドポイントfiles/...による参照- SDKの
client.files.upload()
inlineData で、公開されている動画は fileData のURLで送ってください。
メディア入力はどう課金されますか?
Geminiのテキストモデルは、トークン単位で課金されます。画像、PDF、音声、動画はいずれも入力トークンに変換され、usageMetadata.promptTokensDetails に IMAGE、AUDIO、VIDEO などの種類別で表示されます。価格はモデルカタログに、リクエストごとの課金額は呼び出しログにあります。
VeoやNano Banana Proをネイティブで呼び出せますか?
- Nano Banana Pro:
gemini-3-pro-imageは、ネイティブのgenerateContentで利用できます。Nano Banana Proを参照してください。 - Veo: 2026年9月28日時点で、Veoは公開モデルカタログに載っておらず、ネイティブの
predictLongRunningリクエストは利用可能なチャネルがないというエラーを返します。動画生成にはWan 2.7かSeedance 2.0を使ってください。
AI StudioとVertex AIのどちらですか?
AI Studioです。LaoZhang APIは、GeminiのテキストモデルとNano Bananaの画像モデルを、Vertex AIではなくGoogleのGemini API(AI Studio)経由で呼び出しています。そのため、次のようになります。- モデルID、提供終了日、安全ポリシーは、Googleのdeprecationsページなど、Gemini APIドキュメントに従います。
- リクエストは、AI Studio形式の
v1betaパスを使い、Vertexのプロジェクトやロケーションは使いません。 - 上流の障害が疑われるときは、Gemini APIのインシデントについてAI Studioのステータスページを確認してください。