replicate/goo-logo: When a Logo Becomes a Living Shader
A tiny Cog package hides a headless OpenGL pipeline, an embedded logo, and a clean way to ship animated brand visuals as one deployable machine.
- replicate/goo-logo turns a shader effect into a packaged brand system, so the interesting unit is the deployment, not the animation alone.
- The repo bakes the logo into the machine, which makes identity part of the rendering pipeline instead of a file handed in at runtime.
- Its real achievement is operational, because Cog, Docker, headless OpenGL, and FFmpeg make graphics code behave like a service.
- The project sits in a narrow lane, but it shows how motion design can become reproducible infrastructure.
The logo is already inside the machine
Most logo tools wait for you to upload a mark and then place it on top of an effect. replicate/goo-logo does something stranger and more useful: the logo is embedded in the repo itself, so the output is not just rendered, it is packaged with its own identity.
This Cog model generates vibrant, animated or still "goo" backgrounds and overlays a logo in the center. It can output a single image (PNG, JPEG, TIFF) or a looping MP4 video, with a variety of customization options for the goo effect.
What goo-logo actually makes
The repo is small, but the output range is practical. It can emit still images in formats like PNG, JPEG, and TIFF, or it can loop as MP4. That makes it useful for a landing page hero, a social post, a splash screen, or a branded animation that needs to feel alive without hiring a motion designer for every variation.
input = {
"width": 1024,
"height": 1024,
"seed": 42,
"scale": 0.5,
"depth": 0.8,
"speed": 1.2,
"format": "mp4",
"num_frames": 120,
"fps": 30
}
# The same machine can also render a still by switching format to png, jpeg, or tiff.
How one request becomes a moving brand asset
The pipeline is the story. A request enters Cog, the embedded logo is decoded from base64, ModernGL draws the goo shader headlessly, Pillow composites the mark into the frame, and FFmpeg or OpenCV turns the result into a still or a looping video. What looks like a design effect is actually a sequence of deterministic stages.
Why this runs on Replicate instead of staying a shader demo
The hard part is not the goo effect. The hard part is making OpenGL behave inside a container, then making that container repeatable on demand. That is why the repo leans on Cog, Docker, Mesa, EGL, Xvfb, and FFmpeg. They are the unglamorous pieces that turn a graphics experiment into something you can call like an API.
- Cog defines the machine interface and prediction entry point.
- ModernGL handles the shader work without a desktop window.
- Mesa, EGL, and Xvfb make headless rendering possible in Docker.
- FFmpeg turns rendered frames into a deliverable MP4.
What it replaces, and what it does not
| Option | Strength | Weakness | Where goo-logo fits |
|---|---|---|---|
| Static logo overlay tools | Fast placement on existing artwork | No real motion system or atmosphere | goo-logo replaces the flat background with a generated one |
| Shader playgrounds like Shadertoy | Excellent for visual experimentation | Weak packaging and deployment story | goo-logo turns shader logic into a repeatable service |
| General AI logo generators | Broad branding assistance | They do not solve the exact motion pipeline | goo-logo is narrower, but much more controlled |
| replicate/goo-logo | Animated branded visuals with a fixed identity core | Not a general branding suite | This is the point: a deployable logo machine |
That narrowness is the design strength. The repo does not try to be a branding platform, and it does not pretend to replace a full motion studio. It solves one elegant problem very well: how to ship a shader-driven brand asset as something you can rerun, parameterize, and embed anywhere.
The larger idea: motion design as infrastructure
The most interesting thing here is not the goo. It is the packaging. Once a visual system is wrapped as a machine, the design work becomes reproducible, the deployment becomes portable, and the brand asset stops being a one-off file. It becomes infrastructure.