File size: 1,323 Bytes
c2c93c0
 
9418261
 
 
 
 
d8b3c30
6989753
d9b1525
9418261
 
 
 
 
 
 
 
6e92121
 
9418261
 
6e92121
9418261
 
790ebb7
9418261
90c5431
0d67dd8
9418261
0d67dd8
9418261
 
 
 
6e92121
9418261
 
 
6e92121
 
 
9418261
 
eb11d94
9418261
a84076d
c2c93c0
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
import gradio as gr

# def greet(name):
#     return "Hello " + name + "!!"

# demo = gr.Interface(fn=greet, inputs="text", outputs="text")
# demo.launch()

from news_scanner import scan_news
from LLMPipeline import generate_image_prompt #,summarize_headlines
from ImageGenerator import generate_image
from MemeMaker import create_meme


def pipeline():
    # 1. Scrape news
    headlines = scan_news()

    # # 2. LLM summary
    # summary = summarize_headlines(headlines)

    # 3. LLM image prompt
    img_prompt = generate_image_prompt(headlines)#summary)

    # 4. Generate image
    img = generate_image(img_prompt)

    # # 5. Create meme
    meme = create_meme(img,'MEME')# headlines[0])

    return headlines,  img_prompt, meme#meme #summary


with gr.Blocks(title="AI News Meme Generator") as app:
    gr.Markdown("# News Meme Generator")
    gr.Markdown("Este modelo lee un titular, genera un prompt, crea una imagen y hace un meme.")

    btn = gr.Button("Generate Meme")

    out_headlines = gr.JSON(label="Headline")
    # out_summary = gr.Textbox(label="Resumen Humorístico")
    out_prompt = gr.Textbox(label="Prompt for Image")
    out_image = gr.Image(label="Meme Final")

    btn.click(fn=pipeline, outputs=[out_headlines,  out_prompt, out_image]) #out_summary

app.launch(ssr_mode=False, share=False)