fal.py 852 B

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