from typing import Any from core.tools.errors import ToolProviderCredentialValidationError from core.tools.provider.builtin.novitaai.tools.novitaai_txt2img import NovitaAiTxt2ImgTool from core.tools.provider.builtin_tool_provider import BuiltinToolProviderController class NovitaAIProvider(BuiltinToolProviderController): def _validate_credentials(self, credentials: dict[str, Any]) -> None: try: result = NovitaAiTxt2ImgTool().fork_tool_runtime( runtime={ "credentials": credentials, } ).invoke( user_id='', tool_parameters={ 'model_name': 'cinenautXLATRUE_cinenautV10_392434.safetensors', 'prompt': 'a futuristic city with flying cars', 'negative_prompt': '', 'width': 128, 'height': 128, 'image_num': 1, 'guidance_scale': 7.5, 'seed': -1, 'steps': 1, }, ) except Exception as e: raise ToolProviderCredentialValidationError(str(e))