| import gradio as gr | |
| import requests | |
| def generate_image(prompt, negative_prompt, sampler, seed, guidance_scale, inference_steps): | |
| invoke_url = "https://api.nvcf.nvidia.com/v2/nvcf/pexec/functions/89848fb8-549f-41bb-88cb-95d6597044a4" | |
| fetch_url_format = "https://api.nvcf.nvidia.com/v2/nvcf/pexec/status/" | |
| headers = { | |
| "Authorization": "Bearer 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", | |
| "Accept": "application/json", | |
| } | |
| payload = { | |
| "prompt": prompt, | |
| "negative_prompt": negative_prompt, | |
| "sampler": sampler, | |
| "seed": seed, | |
| "guidance_scale": guidance_scale, | |
| "inference_steps": inference_steps | |
| } | |
| session = requests.Session() | |
| response = session.post(invoke_url, headers=headers, json=payload) | |
| while response.status_code == 202: | |
| request_id = response.headers.get("NVCF-REQID") | |
| fetch_url = fetch_url_format + request_id | |
| response = session.get(fetch_url, headers=headers) | |
| response.raise_for_status() | |
| response_body = response.json() | |
| return response_body | |
| iface = gr.Interface(fn=generate_image, | |
| inputs=["text", "text", "text", "number", "number", "number"], | |
| outputs="text", | |
| title="Image Generation", | |
| description="Generate an image based on prompts.") | |
| iface.launch() | |