{"record":{"id":"14f373b1e16ad929","repo":"BerriAI/litellm","slug":"gemini-api-key-is-not-set","errorCode":null,"errorMessage":"GEMINI_API_KEY is not set","messagePattern":"GEMINI_API_KEY is not set","errorType":"exception","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"litellm/llms/gemini/image_edit/transformation.py","lineNumber":65,"sourceCode":"    ) -> dict[str, Any]:\n        return map_openai_image_params_to_gemini(\n            params=image_edit_optional_params,\n            model=model,\n            supported_params=self.get_supported_openai_params(model),\n            parse_image_config_string=True,\n        )\n\n    def validate_environment(\n        self,\n        headers: dict,\n        model: str,\n        api_key: str | None = None,\n        litellm_params: dict | None = None,\n        api_base: str | None = None,\n    ) -> dict:\n        final_api_key: Final[str | None] = api_key or get_secret_str(\"GEMINI_API_KEY\")\n        if not final_api_key:\n            raise ValueError(\"GEMINI_API_KEY is not set\")\n\n        headers[\"x-goog-api-key\"] = final_api_key\n        headers[\"Content-Type\"] = \"application/json\"\n        return headers\n\n    def use_multipart_form_data(self) -> bool:\n        \"\"\"Gemini uses JSON requests, not multipart/form-data.\"\"\"\n        return False\n\n    def get_complete_url(\n        self,\n        model: str,\n        api_base: str | None,\n        litellm_params: dict,\n    ) -> str:\n        base_url = api_base or get_secret_str(\"GEMINI_API_BASE\") or self.DEFAULT_BASE_URL\n        base_url = base_url.rstrip(\"/\")\n        return f\"{base_url}/models/{model}:generateContent\"","sourceCodeStart":47,"sourceCodeEnd":83,"githubUrl":"https://github.com/BerriAI/litellm/blob/6c2dcb801bf2b75c18f1bb24140e7cf57465cc4d/litellm/llms/gemini/image_edit/transformation.py#L47-L83","documentation":"Error \"GEMINI_API_KEY is not set\" thrown in BerriAI/litellm.","triggerScenarios":"Thrown at litellm/llms/gemini/image_edit/transformation.py:65 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Set GEMINI_API_KEY in the environment."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"6c2dcb801bf2b75c18f1bb24140e7cf57465cc4d","analyzedAt":"2026-08-15T07:12:03.035Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}