|
import gradio as gr |
|
import requests |
|
import json |
|
import os |
|
|
|
api_key = os.environ.get("AIzaSyBC0lwB4yx-c0C94y7ENnQEzgMHSyqM3l0") |
|
|
|
|
|
url = f"https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash:generateContent?key={api_key}" |
|
headers = { |
|
'Content-Type': 'application/json' |
|
} |
|
|
|
def generate_prompt(prompt): |
|
|
|
data = { |
|
"contents": [ |
|
{ |
|
"parts": [ |
|
{ |
|
"text": prompt |
|
} |
|
] |
|
} |
|
] |
|
} |
|
|
|
|
|
response = requests.post(url, headers=headers, data=json.dumps(data)) |
|
|
|
|
|
if response.status_code == 200: |
|
response_data = response.json() |
|
generated_text = response_data['candidates']['content'] |
|
return generated_text |
|
else: |
|
print(f"Error: {response.status_code}") |
|
print(response.text) |
|
return None |
|
|
|
|
|
with gr.Blocks() as demo: |
|
gr.Markdown("# Gemini Prompt Generator") |
|
with gr.Tab("Generate Prompt"): |
|
prompt_input = gr.Textbox(label="Your Prompt:", placeholder="Enter your prompt here", lines=5) |
|
generate_button = gr.Button("Generate Prompt") |
|
output_text = gr.Textbox(label="Generated Prompt:", lines=10, interactive=False) |
|
generate_button.click(generate_prompt, inputs=prompt_input, outputs=output_text) |
|
|
|
|
|
if __name__ == "__main__": |
|
demo.launch(share = True) |