import requests from core.tools.errors import ToolProviderCredentialValidationError from core.tools.provider.builtin_tool_provider import BuiltinToolProviderController class FalProvider(BuiltinToolProviderController): def _validate_credentials(self, credentials: dict) -> None: url = "https://fal.run/fal-ai/flux/dev" headers = { "Authorization": f"Key {credentials.get('fal_api_key')}", "Content-Type": "application/json", } data = {"prompt": "Cat"} response = requests.post(url, json=data, headers=headers) if response.status_code == 401: raise ToolProviderCredentialValidationError("FAL API key is invalid") elif response.status_code != 200: raise ToolProviderCredentialValidationError(f"FAL API key validation failed: {response.text}")