Spaces:
Sleeping
Sleeping
File size: 1,788 Bytes
922678f f3dddaf 922678f f3dddaf 922678f f3dddaf 922678f f3dddaf d6d1b32 f3dddaf b827b19 f3dddaf 277d8e8 d6d1b32 277d8e8 f3dddaf b827b19 277d8e8 d6d1b32 277d8e8 db2e240 277d8e8 d6d1b32 b827b19 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | import os
import requests
import base64
import io
import gradio as gr
from PIL import Image
API_KEY = os.getenv("NVIDIA_API_KEY")
INVOKE_URL = "https://ai.api.nvidia.com/v1/genai/black-forest-labs/flux.2-klein-4b"
HEADERS = {
"Authorization": f"Bearer {API_KEY}",
"Accept": "application/json",
"Content-Type": "application/json",
}
def generate_or_edit(prompt, input_image=None):
payload = {
"prompt": prompt,
"width": 1024,
"height": 1024,
"seed": 0,
"steps": 4
}
if input_image is not None:
buffered = io.BytesIO()
input_image.save(buffered, format="PNG")
img_str = base64.b64encode(buffered.getvalue()).decode()
payload["image"] = img_str
try:
response = requests.post(INVOKE_URL, headers=HEADERS, json=payload)
response.raise_for_status()
result = response.json()
# अब हम सीधे उस स्ट्रक्चर का उपयोग कर रहे हैं जो आपने दिखाया है
image_b64 = result["artifacts"][0]["base64"]
image_data = base64.b64decode(image_b64)
return Image.open(io.BytesIO(image_data))
except Exception as e:
print(f"Error: {e}")
return None
# Gradio इंटरफ़ेस
with gr.Blocks() as demo:
gr.Markdown("# Vedika AI - Image Studio")
prompt_input = gr.Textbox(label="Prompt")
image_input = gr.Image(label="Input Image (Optional)", type="pil")
submit_btn = gr.Button("Generate")
result_output = gr.Image(label="Result")
submit_btn.click(fn=generate_or_edit, inputs=[prompt_input, image_input], outputs=result_output)
demo.launch(server_name="0.0.0.0", server_port=7860)
|