BerriAI/litellm · error · ValueError
GEMINI_API_KEY is not set
Error message
GEMINI_API_KEY is not set
What it means
Error "GEMINI_API_KEY is not set" thrown in BerriAI/litellm.
Source
Thrown at litellm/llms/gemini/image_edit/transformation.py:65
) -> dict[str, Any]:
return map_openai_image_params_to_gemini(
params=image_edit_optional_params,
model=model,
supported_params=self.get_supported_openai_params(model),
parse_image_config_string=True,
)
def validate_environment(
self,
headers: dict,
model: str,
api_key: str | None = None,
litellm_params: dict | None = None,
api_base: str | None = None,
) -> dict:
final_api_key: Final[str | None] = api_key or get_secret_str("GEMINI_API_KEY")
if not final_api_key:
raise ValueError("GEMINI_API_KEY is not set")
headers["x-goog-api-key"] = final_api_key
headers["Content-Type"] = "application/json"
return headers
def use_multipart_form_data(self) -> bool:
"""Gemini uses JSON requests, not multipart/form-data."""
return False
def get_complete_url(
self,
model: str,
api_base: str | None,
litellm_params: dict,
) -> str:
base_url = api_base or get_secret_str("GEMINI_API_BASE") or self.DEFAULT_BASE_URL
base_url = base_url.rstrip("/")
return f"{base_url}/models/{model}:generateContent"View on GitHub (pinned to 6c2dcb801b)
Solutions
- Set GEMINI_API_KEY in the environment.
When it happens
Trigger: Thrown at litellm/llms/gemini/image_edit/transformation.py:65 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of BerriAI/litellm@6c2dcb801b (2026-08-15).
Data as JSON: /api/errors/14f373b1e16ad929.
Report an issue: GitHub.