from typing import Any, Dict, List, Optional, Tuple, Generator import gradio as gr import inspect def _signature_src( prompt: str ) -> Tuple[str, Optional[List[str]], Optional[str]]: raise NotImplementedError def clone_signature(src): def deco(dst): dst.__signature__ = inspect.signature(src) dst.__annotations__ = src.__annotations__.copy() return dst return deco @clone_signature(_signature_src) def generate_image1(**kwargs) -> Tuple[str, Optional[List[str]], Optional[str]]: return ("COMPLETE", kwargs["prompt"], None) def generate_image2(prompt: str) -> Tuple[str, Optional[List[str]], Optional[str]]: return ("COMPLETE", prompt, None) with gr.Blocks() as app: gr.api(fn=generate_image1, api_name="generate_image1", show_api=True, queue=True, concurrency_id="gpu") gr.api(fn=generate_image2, api_name="generate_image2", show_api=True, queue=True, concurrency_id="gpu") app.launch(show_error=True)