💡

Gemini API で geminiPro メソッドが使えなかった問題とその解決方法

2025/03/09に公開

Gemini API で geminiPro メソッドが使えなかった問題とその解決方法

models/gemini-pro is not found for API version v1 or not supported for generateContent

はじめに

Gemini API を使用している際に、エラーメッセージ
models/gemini-pro is not found for API version v1, or is not supported for generateContent.
に遭遇しました。

公式の README.md にも回避策が書かれていなかったため、備忘録として解決策を共有します。

この検証には google-gemini-php/laravel を使用しています。

GitHub Repository

google-gemini-php/laravel

直面した問題

公式のREADME.mdに書かれている内容を真似て以下のコードを実行したところ、エラーが発生しました。

$response = Gemini::geminiPro()->generateContent($toGeminiCommand)->text();

発生したエラー

models/gemini-pro is not found for API version v1, or is not supported for generateContent.
Call ListModels to see the list of available models and their supported methods.

解決策

使用可能なモデルを取得することで、models/gemini-pro がサポートされていないことが判明しました。

以下のコードを実行し、利用可能なモデル一覧を確認しました。

Log::info(Gemini::models()->list()->models);

取得できたモデル一覧(一部抜粋)

[
  {
    "name": "models/gemini-1.5-pro-001",
    "displayName": "Gemini 1.5 Pro 001",
    "supportedGenerationMethods": [
      "generateContent",
      "countTokens",
      "createCachedContent"
    ]
  },
  {
    "name": "models/gemini-1.5-pro-002",
    "displayName": "Gemini 1.5 Pro 002",
    "supportedGenerationMethods": [
      "generateContent",
      "countTokens",
      "createCachedContent"
    ]
  },
  {
    "name": "models/gemini-1.5-flash",
    "displayName": "Gemini 1.5 Flash",
    "supportedGenerationMethods": [
      "generateContent",
      "countTokens"
    ]
  }
]

修正方法

上記のモデルリストを参考にして、models/gemini-1.5-flash へ変更しました。

$response = Gemini::generativeModel("gemini-1.5-flash")->generateContent($toGeminiCommand)->text();

geminiProメソッドはデフォルトで Gemini 1.0 Pro を使用するようになっているようです。
しかし、Gemini 1.0 Pro は使用できないようになっています。

It appears that Gemini 1.0 Pro is no longer supported. Please refer to the changelog for details: Changelog - 02-18-2025.

まとめ

geminiProメソッドはデフォルトで Gemini 1.0 Pro を使用するが、Gemini 1.0 Pro はdeprecatedとなっている

Gemini::models()->list()->models で使用可能なモデルを確認できる。

gemini-1.5-flash などの指定のモデルを指定することで解決。

$response = Gemini::generativeModel("gemini-1.5-flash")->generateContent($toGeminiCommand)->text();

今後も API の変更により、利用可能なモデルが変わる可能性があるため、定期的に Gemini::models()->list()->models を確認することを推奨します。

Discussion