| 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) |