Spaces:
Sleeping
Sleeping
File size: 1,377 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 |
# 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 |