{"slug": "simonw-pedalican", "title": "simonw/pedalican", "summary": "Developer Simon Willison used OpenAI's GPT-5.6 Sol xhigh and gpt-image-2 to create a custom Codex pet named Pedalican, a pelican riding a bicycle that animates on his desktop. The project demonstrates a workflow for generating game-ready sprite assets through iterative image generation prompts, with all code and assets open-sourced on GitHub.", "body_md": "So I did, and now I have a cute little pelican on a bicycle bouncing around my desktop giving me updates on my Codex tasks.\n\nThe most interesting thing about this process was watching how the custom pet was created. I told it I wanted a custom pet that was a pelican riding a bicycle and GPT-5.6 Sol xhigh did the rest of the work, using several rounds with [gpt-image-2](https://developers.openai.com/api/docs/models/gpt-image-2) to generate the necessary sprite assets.\n\nI had it make [extensive notes](https://github.com/simonw/pedalican-pet/blob/main/notes-on-creating-a-pet.md) and record all of the [intermediary steps](https://github.com/simonw/pedalican-pet/tree/main/run). My GItHub repo includes every generated image and combined sprite sheet, plus GIFs for each of the animation loops such as this one, called [waving.gif](https://github.com/simonw/pedalican-pet/blob/main/run/qa/previews/waving.gif):\n\nThat GIF was compiled from [a single image](https://github.com/simonw/pedalican-pet/blob/main/run/api-generation/waving.png) generated by `git-image-2`\n\nthat looked like this:\n\nAnd *that* image was created by executing [this prompt](https://github.com/simonw/pedalican-pet/blob/main/run/prompts/rows/waving.md) against the initial generated [character reference image](https://github.com/simonw/pedalican-pet/blob/main/run/api-generation/base.png), which was created with [this prompt](https://github.com/simonw/pedalican-pet/blob/main/run/prompts/base-pet.md), which has this structure:\n\n`Create one clean full-body reference sprite for Codex pet Pedalican.`\n\n`Pet identity: A compact adorable baby pelican with a round cream-white body, soft coral-orange bill and feet, riding a tiny sky-blue bicycle [...]`\n\n`Place a single centered pose on a perfectly flat pure magenta #FF00FF chroma-key background. Keep the full pet visible, compact, readable at 192x208, and easy to animate. [...]`\n\nI've been looking out for example of ways to use image generation to create simple game-ready sprites, so I spent some time digging into this mechanism to see how it works.\n\nThe key implementation details are open source - these two skills in particular, both Apache 2.0 licensed:\n\nAnd yes, GPT-5.6 Sol did come up with the name \"Pedalican\". I like it!\n\nTags: [ai](https://simonwillison.net/tags/ai), [prompt-engineering](https://simonwillison.net/tags/prompt-engineering), [generative-ai](https://simonwillison.net/tags/generative-ai), [llms](https://simonwillison.net/tags/llms), [text-to-image](https://simonwillison.net/tags/text-to-image), [pelican-riding-a-bicycle](https://simonwillison.net/tags/pelican-riding-a-bicycle), [codex](https://simonwillison.net/tags/codex)", "url": "https://wpnews.pro/news/simonw-pedalican", "canonical_source": "https://simonwillison.net/2026/Jul/14/pedalican/#atom-everything", "published_at": "2026-07-14 22:29:45+00:00", "updated_at": "2026-07-14 22:49:29.281077+00:00", "lang": "en", "topics": ["generative-ai", "ai-tools", "ai-products"], "entities": ["Simon Willison", "OpenAI", "GPT-5.6 Sol xhigh", "gpt-image-2", "Codex", "Pedalican", "GitHub"], "alternates": {"html": "https://wpnews.pro/news/simonw-pedalican", "markdown": "https://wpnews.pro/news/simonw-pedalican.md", "text": "https://wpnews.pro/news/simonw-pedalican.txt", "jsonld": "https://wpnews.pro/news/simonw-pedalican.jsonld"}}