# Sprite DX - Stage 1 - Character Generation

This week’s goal is to automate the [Sprite DX pipeline](https://blog.sprited.app/spritedx-dev-update-from-prompt-to-playable-character)—from a user prompt to an animated character that moves on its own.

I’ll be using *ComfyUI* to tie things together. It really speeds up the experimentation and keeps me from getting bogged down in the weeds.

---

## Stage 1: Character Reference Generation

At the start of the pipeline, Sprite DX needs a character reference. To keep **style consistency**, we’re hand-crafting a set of pixel art character sheets—like the one you see here. The characters are axis-aligned, with enough paddings around each one to keep things clean.

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1753748220839/f85fba9c-be6c-4b30-8906-9b8aabaff47d.png align="center")

we mask out a few characters from the sheet.

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1753748402526/e3a9c9b9-f444-4643-a139-8365530ad9cd.png align="center")

Then, we use [black-forest-labs/FLUX.1-Fill-dev](https://huggingface.co/black-forest-labs/FLUX.1-Fill-dev) to in-paint the masked areas.

> Prompt: pixelated retro pixel art characters HD, gender: boy

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1753748703552/4bd4db87-20f0-400a-8ebb-a01a3f4887a7.png align="center")

After inpainting, we extract the new characters we generated.

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1753749795459/f2d2d857-70b9-4058-8053-dcda1c472d1e.png align="center")

So far, we’ve got:

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1753749785823/801964d1-ea25-45c1-aaba-247833dd1787.png align="center")

This concludes Phase 1.

It's the first leg, but the results are super consistent—100% success rate!

***Pro Tip***: You can drag and drop this image into ComfyUI to get the full workflow imported.

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1753819167054/5996476b-f2ee-4307-a5fb-95424f5daff7.png align="center")

Everything’s looking good so far—no major roadblocks. The inpainting method worked better than expected. Next up: feed this reference image into a video generation model to get a run-cycle animation.

Onward to Stage 2.

—Sprited Dev 🌱
