The Stickverse is a scrappy, Python-based animation pipeline that turns a raw text story into a fully voiced, lip-synced video. It uses Google's Gemini to parseThe Stickverse is a scrappy, Python-based animation pipeline that turns a raw text story into a fully voiced, lip-synced video. It uses Google's Gemini to parse

I Built a Poor Man’s Pixar Using Python, Gemini, and My Sense of Humor

\ \ Animation is too hard.

To make a 30-second clip, you usually need to learn Blender, hire voice actors, frame keyframes, and render for twelve hours. I wanted to make memes, shitposts, and storytelling clips, and I wanted them done in the time it takes to drink a coffee.

So, I built the Stickverse.

\ It is a scrappy, Python-based animation pipeline that turns a raw text story into a fully voiced, lip-synced (well, "lip-flapped") video. It uses Google's Gemini to parse the script, a CLI tool to record your own bad voice acting, and OpenCV to draw the frames.

Here is how I built it, and how you can use it to create your own episodes of the Stickverse.

The Architecture

The pipeline consists of three distinct Python scripts:

  1. The Parser (parser.py): Uses Gemini to turn a text block into a storyboard (JSON).
  2. The Director (director.py): A CLI tool that prompts you to record lines one by one.
  3. The Animator (animator.py): The engine that stitches audio and vector graphics into an MP4.

Let's break down the code.

Phase 1: The Screenwriter (Powered by Gemini)

The hardest part of procedural animation is structure. If I write a story, I don't want to manually tag every single line with { "character": "Steve" }.

I delegated this to the Gemini API. I feed it raw text, and via a system prompt, it returns clean JSON.

Here is the secret sauce in parser.py. The system prompt enforces strict rules so the animator doesn't crash later:

system_prompt = """ You are a Screenplay parsing engine. Convert the following raw text story into a structured JSON animation script. RULES: 1. Identify every character speaking. 2. Identify scene changes (backgrounds). 3. Output JSON ONLY. No markdown, no explanations. JSON STRUCTURE: [ { "type": "background", "description": "desert" }, { "type": "speak", "character": "Walter", "text": "Jesse, we have to cook." } ] """

If I feed it a text file where I wrote "Walter yells at Jesse about API keys," Gemini breaks it down into the exact scenes and lines I need to record.

Phase 2: The Director (The Karaoke CLI)

Once we have a script_plan.json, we need audio.

I didn't want to use AI Text-to-Speech (TTS) because AI voices have no soul. They can't capture the panic of a man realizing he missed a deployment deadline.

I wrote director.py using the sounddevice library. It reads the JSON, clears the terminal, and acts like a teleprompter.

# snippet from director.py print(f"🗣️ CHARACTER: {char.upper()}") print(f"📝 LINE: \"{text}\"") # It waits 15 seconds for you to get into character # Then records automatically when you hit Ctrl+C

It saves every line as a separate .wav file (line_0_Walter.wav) and updates the JSON to link the text to the audio.

Phase 3: The Animator (Math, Not Magic)

This is where the "Stickverse" comes alive. I didn't use a game engine. I used OpenCV (to draw lines) and MoviePy (to stitch frames).

The "Lip-Sync" Algorithm

I couldn't be bothered to train a neural network for lip-syncing. Instead, I used scipy.io.wavfile to analyze the volume of the audio file.

  • Loud noise = Mouth Open Big.
  • Quiet noise = Mouth Open Small.
  • Silence = Mouth Closed.

# snippet from animator.py def draw_frame(t, character_speaking, mouth_open_amount): # ... drawing the body ... gap = int(mouth_open_amount * 20) # Calculate jaw drop # Draw top of head moving up and down top_center = (x, 300 - gap) cv2.ellipse(img, top_center, (50, 50), 0, 180, 360, color, -1)

The result is a flappy-headed aesthetic that looks like South Park meets a terminal window.

The Demo: "Breaking Stories"

https://youtu.be/vwO11W2zwRw?embedable=true

To test the system, I fed it a script about Walter and Jesse arguing about Hackernoon editorial standards.

The Prompt (that I totally followed to the letter):

The Result:

  • Gemini identified the "Desert" background keyword and changed the sky color to Cyan and the ground to Orange.
  • It identified Walter and Jesse.
  • The Animator rendered them in Blue and Yellow (Hazmat suit style).

Join the Stickverse

The code is open source. It is messy, it is funny, and it works.

The beauty of the Stickverse is that it is strictly code-based.

  • Want a top hat? Add cv2.rectangle to the head logic.
  • Want explosions? Add a random jitter function to the camera frame.

You can find the repo here: [https://github.com/damianwgriggs/The-Stickverse]()

Clone it, modify the draw_frame function, and create your own episode. We have to cook.

:::info \ Genesis Art Engine Prompt for featured photo: A blazing hot desert with a radiating sun. Meant to fit the “Breaking Stories” theme.

\ :::

\

Market Opportunity
Matrix AI Network Logo
Matrix AI Network Price(MAN)
$0.00285
$0.00285$0.00285
-3.71%
USD
Matrix AI Network (MAN) Live Price Chart
Disclaimer: The articles reposted on this site are sourced from public platforms and are provided for informational purposes only. They do not necessarily reflect the views of MEXC. All rights remain with the original authors. If you believe any content infringes on third-party rights, please contact service@support.mexc.com for removal. MEXC makes no guarantees regarding the accuracy, completeness, or timeliness of the content and is not responsible for any actions taken based on the information provided. The content does not constitute financial, legal, or other professional advice, nor should it be considered a recommendation or endorsement by MEXC.

You May Also Like

$94.7M Bleeds Out For Third Straight Day

$94.7M Bleeds Out For Third Straight Day

The post $94.7M Bleeds Out For Third Straight Day appeared on BitcoinEthereumNews.com. Spot Ethereum ETFs Face Sustained Pressure: $94.7M Bleeds Out For Third Straight
Share
BitcoinEthereumNews2026/01/10 13:35
United States Building Permits Change dipped from previous -2.8% to -3.7% in August

United States Building Permits Change dipped from previous -2.8% to -3.7% in August

The post United States Building Permits Change dipped from previous -2.8% to -3.7% in August appeared on BitcoinEthereumNews.com. Information on these pages contains forward-looking statements that involve risks and uncertainties. Markets and instruments profiled on this page are for informational purposes only and should not in any way come across as a recommendation to buy or sell in these assets. You should do your own thorough research before making any investment decisions. FXStreet does not in any way guarantee that this information is free from mistakes, errors, or material misstatements. It also does not guarantee that this information is of a timely nature. Investing in Open Markets involves a great deal of risk, including the loss of all or a portion of your investment, as well as emotional distress. All risks, losses and costs associated with investing, including total loss of principal, are your responsibility. The views and opinions expressed in this article are those of the authors and do not necessarily reflect the official policy or position of FXStreet nor its advertisers. The author will not be held responsible for information that is found at the end of links posted on this page. If not otherwise explicitly mentioned in the body of the article, at the time of writing, the author has no position in any stock mentioned in this article and no business relationship with any company mentioned. The author has not received compensation for writing this article, other than from FXStreet. FXStreet and the author do not provide personalized recommendations. The author makes no representations as to the accuracy, completeness, or suitability of this information. FXStreet and the author will not be liable for any errors, omissions or any losses, injuries or damages arising from this information and its display or use. Errors and omissions excepted. The author and FXStreet are not registered investment advisors and nothing in this article is intended…
Share
BitcoinEthereumNews2025/09/18 02:20
Amazon files plans for a 229,000-square-foot retail location in Illinois

Amazon files plans for a 229,000-square-foot retail location in Illinois

Amazon is moving ahead with plans to open a superstore in suburban Illinois that would be bigger than your typical Walmart location, officials confirmed over the
Share
Cryptopolitan2026/01/10 13:00