File size: 1,476 Bytes
f8df04e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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


# Install necessary libraries
!pip install -q gradio
!pip install -q openai
!pip install -q gTTS

# Import libraries
import gradio as gr
import openai
from gtts import gTTS
from io import BytesIO
from IPython.display import Audio

# Set up OpenAI API key
openai.api_key = "sk-pZv0gFbHlaKc5o3ejPgYT3BlbkFJ7DPw0d1FqJApeZTBjIqic"  # Replace with your actual API key

# Set the context for the storyteller
messages = [{"role": "system", "content": "You are a magical storyteller, creating wonderful tales for kids. Make them imaginative and full of joy!"}]

# Define the Storyteller function
def StorytellerGPT(tell_story):
    messages.append({"role": "user", "content": tell_story})
    response = openai.ChatCompletion.create(
        model="gpt-3.5-turbo",
        messages=messages,
        temperature=.1
    )
    story_reply = response["choices"][0]["message"]["content"]
    messages.append({"role": "assistant", "content": story_reply})

    # Convert text to speech
    tts = gTTS(text=story_reply, lang='en', slow=False)
    audio_io = BytesIO()
    tts.save(audio_io)
    audio_io.seek(0)

    return story_reply, Audio(data=audio_io.read(), autoplay=True)

# Create the Gradio Interface
demo = gr.Interface(
    fn=StorytellerGPT,
    inputs="text",
    outputs=["text", "audio"],
    title="πŸ“– Storytelling Magic",
    description="A magical storyteller app for kids! Type a sentence, and let the app create an enchanting story for you."
)

# Launch the Gradio