| import gradio as gr | |
| from gradio_client import Client, handle_file | |
| import os | |
| import random | |
| KEYS = os.getenv("KEYS").split(",") | |
| def get_random_api_key(): | |
| return random.choice(KEYS) | |
| def swap_face_api(source_img, target_img, doFaceEnhancer): | |
| try: | |
| api_key = get_random_api_key() | |
| client = Client("tuan2308/face-swap") | |
| result = client.predict( | |
| source_file=handle_file(source_img), | |
| target_file=handle_file(target_img), | |
| doFaceEnhancer=doFaceEnhancer, | |
| api_name="/predict", | |
| api_key=api_key | |
| ) | |
| return result | |
| except Exception as e: | |
| print(f"Ошибка при вызове API: {e}") | |
| return None | |
| iface = gr.Interface( | |
| fn=swap_face_api, | |
| inputs=[ | |
| gr.Image(type="filepath", label="Source Image"), | |
| gr.Image(type="filepath", label="Target Image"), | |
| gr.Checkbox(label="Face Enhancer?") | |
| ], | |
| outputs=gr.Image(label="Output Image"), | |
| title="Face Swap via API" | |
| ) | |
| iface.launch() | |