Inspiration

The attention span of youth is ever shrinking. Tiktok and Reels have lead Gen-Z to expect content only in their lingo, leaving them unable to appreciate other great stories. Thus, we've created giggl-z to present the stories in a more, humorous manner.

What it does

Our program, giggl-z, takes EPUB file as input and gives audios of all chapters, summarized with fun, modern lingo. Just boot up our retro, TUI interface and load the EPUB of your choice. To ensure the program has the context of the entire chapter, despite processing it in chunks, giggl-z also has a sentence importance algorithm to create a short summary as context for the AI. This keeps the context window small, avoiding hallucinations, while still providing information about the entire chapter at once.

How we built it

We built giggl-z using python. The TUI uses textual, EPUBs are read via ebooklib, summarization uses Gemini's API, and the audio is produced via the ElevenLabs API. Each step, epub reading, epub sentence ranking, creating the AI summaries, and passing them to ElevenLabs is handled by a separate file, connected via the TUI.

Challenges we ran into

  • Couldn't find a good EPUB reader/library to parse content and store.
  • It was insanely hard to deal with Eleven-labs API given limited credits, slightly outdated docs.
  • Coming up with an important ranking algorithm to maintain context across generation of content chunks.

Accomplishments that we're proud of

  • Getting eleven-labs audio generation to work for our use-case(burning very less credits)
  • Terminal UI for retro look.
  • Handle epubs that are over 300 pages and still being able to adhere to the core plot

What we learned

  • Learned to structure our projects in python
  • Leared to deal with audio generation models via API(prompting, caching for optimization)

What's next for giggl-z

  • Be able to generate audiobooks with a choice of multiple voices via our TUI ( the API calls were super expensive and we could only make limited accounts)

Built With

Share this project:

Updates