{"record":{"id":"8429739d3313fe64","repo":"BerriAI/litellm","slug":"recraft-api-key-is-not-set-842973","errorCode":null,"errorMessage":"RECRAFT_API_KEY is not set","messagePattern":"RECRAFT_API_KEY is not set","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"litellm/llms/recraft/image_generation/transformation.py","lineNumber":87,"sourceCode":"        complete_url: str = api_base or get_secret_str(\"RECRAFT_API_BASE\") or self.DEFAULT_BASE_URL\n\n        complete_url = complete_url.rstrip(\"/\")\n        complete_url = f\"{complete_url}/{self.IMAGE_GENERATION_ENDPOINT}\"\n        return complete_url\n\n    def validate_environment(\n        self,\n        headers: dict,\n        model: str,\n        messages: list[AllMessageValues],\n        optional_params: dict,\n        litellm_params: dict,\n        api_key: str | None = None,\n        api_base: str | None = None,\n    ) -> dict:\n        final_api_key: Final[str | None] = api_key or get_secret_str(\"RECRAFT_API_KEY\")\n        if not final_api_key:\n            raise ValueError(\"RECRAFT_API_KEY is not set\")\n\n        headers[\"Authorization\"] = f\"Bearer {final_api_key}\"\n        return headers\n\n    def transform_image_generation_request(\n        self,\n        model: str,\n        prompt: str,\n        optional_params: dict,\n        litellm_params: dict,\n        headers: dict,\n    ) -> dict:\n        \"\"\"\n        Transform the image generation request to the recraft image generation request body\n\n        https://www.recraft.ai/docs#generate-image\n        \"\"\"\n        recratft_image_generation_request_body: Final[RecraftImageGenerationRequestParams] = (","sourceCodeStart":69,"sourceCodeEnd":105,"githubUrl":"https://github.com/BerriAI/litellm/blob/77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8/litellm/llms/recraft/image_generation/transformation.py#L69-L105","documentation":"Credential guard in the Recraft image-generation config's validate_environment: no key resolved from the argument or RECRAFT_API_KEY secret, so the generation request cannot be authenticated and fails validation before any HTTP call.","triggerScenarios":"Triggered when calling Recraft image generation without RECRAFT_API_KEY set in the environment or passed as api_key.","commonSituations":"See trigger scenarios.","solutions":["Set the RECRAFT_API_KEY environment variable.","Or pass api_key to the image generation call."],"exampleFix":"litellm.image_generation(model=\"recraft/...\", api_key=\"<key>\", prompt=...)","handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8","analyzedAt":"2026-08-18T11:44:31.656Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}