A curated gallery of nanoodle workflow graphs. Click "Open in nanoodle" on any entry and the whole workflow lands on your canvas, ready to run — or grab the committed graph file and run it headless with nanoodle-js / nanoodle-py after setting a model on each model-bearing node (the committed graphs deliberately ship without model ids — see Limitations).
What's nanoodle? A no-server, bring-your-own-key visual editor for AI
workflows: wire text, image, video, audio, and LLM nodes into a graph and run
it against the NanoGPT API. A noodle is one such
graph — the noodle-graph.json file the editor's 💾 button saves.
This repo vs noodle-skills: this repo is graphs you open and edit on the nanoodle canvas; noodle-skills is prebuilt Agent Skills an AI agent runs headlessly.
How the links work: an "Open in nanoodle" link is
https://nanoodle.com/#g= + base64url(gzip(graph JSON)). The entire graph
rides the URL fragment — nothing is uploaded, no server ever sees it, and this
repo's link checker proves every link decodes back
to exactly the committed graph file.
Heads-up before you click: opening a link replaces whatever is on your nanoodle canvas (Ctrl+Z brings your old graph back). And running a noodle spends real money from your NanoGPT balance — images are typically cents, video more.
The gallery so far is twelve deliberately small starter noodles — copy one, remix it, and send us yours via CONTRIBUTING.md.
- 🖼 Text → image — Type a scene, wire it into an image node: the one-wire hello-world of noodling. Open in nanoodle · graph
- ✂️ Edit a photo — Upload any photo and describe the change in plain words; an edit node repaints it. Open in nanoodle · graph
- 🥊 Model arena — Same prompt fanned into four image nodes: pick a different model on each contender, run once, judge side by side. Open in nanoodle · graph
- 🎛️ Style switchboard — One subject, a Choice node full of art styles, a Join to splice them: flip the switch and re-run. Open in nanoodle · graph
- 🎬 Text → video — One sentence in, one short cinematic clip out — the fastest route to moving pictures. Open in nanoodle · graph
- 📽️ Photo → video — Generates a still image from a prompt, then hands it to a video node that animates it into a clip. Open in nanoodle · graph
- ⏩ Extend a video — Upload a clip, grab its last frame, and let an image→video node keep the shot going. Open in nanoodle · graph
- 🗣️ Talking avatar — Upload a portrait, type what it should say: TTS speaks the line and a lipsync node animates the face. Open in nanoodle · graph
- 🎵 Lyrics → song — One idea fans out to two LLMs — one writes the lyrics, one invents a matching style — and a music node sings the result. Open in nanoodle · graph
- 🎙️ Voice memo → notes — Ramble into your phone, upload the clip: transcription plus an LLM turn it into a summary, bullets, and action items. Open in nanoodle · graph
- 👁 See, think, speak — A photo is described by a vision model, distilled into a four-line poem by an LLM, then read aloud by TTS. Open in nanoodle · graph
- 🌍 Auto-dub — Upload a clip: its audio is extracted, transcribed, translated by an LLM, re-spoken by TTS, and laid back over the video. Open in nanoodle · graph
Made something worth slurping? PRs welcome — see CONTRIBUTING.md. One noodle per PR, graph file + share link
- one-line description, and
npm testkeeps everyone honest.
npm test # node --test: decodes every README link,
# round-trips it, compares to graphs/
node scripts/make-link.mjs graphs/<slug>.noodle-graph.json # print a fresh share linkNode ≥ 20, zero dependencies — package.json exists only so npm test works.
- No screenshots yet. v1 is text-only; previews are planned but we won't fake them.
- Graphs deliberately omit model ids. The editor backfills each
model-bearing node with the newest live-catalog model of the right kind on
load, so links never go stale — but it also means results (and prices) drift
as the catalog evolves. The headless runners do no such backfill:
nanoodle-js / nanoodle-py refuse to run a model-less node (
pick a model first), so open the graph in the editor and pick models — or setfields.modelin the JSON — before running a committed graph headless. - Costs are estimates. Rough cost is covered by the heads-up at the top (images typically cents, video more) rather than per entry; actual price depends on the model the editor picks and your settings.
- Links are only verified to decode.
npm testproves each link reproduces the committed graph; it does not run the workflow or verify output quality.
MIT — see LICENSE. Not affiliated with NanoGPT. Build workflows at nanoodle.com.