Код: Выделить всё
img1 = gr.Image(
label="Generated Image",
type="pil",
format="png",
interactive=False,
show_share_button=False,
elem_classes="generated-image"
)
Код: Выделить всё
def inference_with_timer(model_key, prompt, api_key):
API_URL = models[model_key]
headers = {"Authorization": f"Bearer {api_key}"}
payload = {"inputs": prompt}
try:
start_time = time.time()
response = requests.post(API_URL, headers=headers, json=payload)
response.raise_for_status()
elapsed_time = round(time.time() - start_time, 2)
image = Image.open(BytesIO(response.content))
return image, f"{elapsed_time}s"
except Exception as e:
return str(e), "Error"
Некоторые моменты, на которые следует обратить внимание:
- Кнопка загрузки на каждом изображении. блок отсутствует при первой загрузке.
- Кнопка загрузки на первом блоке изображения может присутствовать, в то время как два других все еще могут быть отсутствует (как №1)
- На каждом изображении может быть 3 кнопки загрузки заблокировать
- После первого вывода кнопка загрузки будет присутствовать, пока система может запросить другой вывод

Мне нужно обновить загрузку трех разных тегов привязки только тогда, когда приходит новый вывод.

Что я пробовал до сих пор
Я пробовал использовать пользовательские Javascript, но поскольку я не профессиональный программист на Python, не могу понять, как дать JS понять, что вывод пришел или нет, или пришел с успешным выводом. Потому что даже в случае неудачного ответа/вывода атрибут src имеет значение:
Код: Выделить всё
[img]https://mayeenulislam-imagen.hf.space/gradio_api/file=/home/user/app/500 Server Error: Internal Server Error for url: https:/api-inference.huggingface.co/models/black-forest-labs/FLUX.1-schnell[/img]
alt=""
loading="lazy"
class="svelte-1pijsyv"
>
Подробнее здесь: https://stackoverflow.com/questions/792 ... ndom-names