import base64, os from pyrogram import Client, filters from pyrogram.types import Message from utils.misc import modules_help, prefix from utils.scripts import format_exc, import_library clarifai = import_library("clarifai") from clarifai.client.model import Model @Client.on_message(filters.command("cdxl", prefix) & filters.me) async def cdxl(c: Client, message: Message): try: chat_id = message.chat.id await message.edit_text("Please Wait...") if len(message.command) > 1: prompt = message.text.split(maxsplit=1)[1] elif message.reply_to_message: prompt = message.reply_to_message.text else: await message.edit_text( f"Usage: {prefix}vdxl [prompt/reply to prompt]" ) return inference_params = dict(width=1024, height=1024, steps=50, cfg_scale=9.0) model_prediction = Model( "https://clarifai.com/stability-ai/stable-diffusion-2/models/stable-diffusion-xl" ).predict_by_bytes( prompt.encode(), input_type="text", inference_params=inference_params ) output_base64 = model_prediction.outputs[0].data.image.base64 with open("sdxl_out.png", "wb") as f: f.write(output_base64) await message.delete() await c.send_photo( chat_id, photo=f"sdxl_out.png", caption=f"Prompt:{prompt}", ) os.remove(f"sdxl_out.png") except Exception as e: await message.edit_text(f"An error occurred: {format_exc(e)}") modules_help["cdxl"] = { "cdxl [prompt/reply to prompt]*": "Text to Image with SDXL model", }