Skip to main content

mcpbytes-pixel-sprite

Generate pixel-art character sprite sheets on your own NVIDIA GPU, from the command line or from any MCP client (Claude, Cursor, VS Code, …). It is the open-source engine behind MCPBytes' hosted create_pixel_sprite tool, and can also send jobs to the hosted tool when you have no GPU.

Each candidate is a 128×128 PNG of sixteen 32×32 cells. Rows face down, left, right and up; columns 0–2 are walk poses and column 3 holds four still poses (arms raised, jump left, jump right, lying). Every candidate also comes with frame PNGs, looping walk GIFs, QA metadata, a Godot 4 scene and a Unity 6 importer.

Requirements

  • An NVIDIA GPU with a CUDA 12.8 driver (R570 or newer) on Windows or Linux. The memory mode is picked from the GPU's size; you can override it with --offload:

    --offload GPU memory used Time per candidate*
    none (picked for GPUs with 20 GB or more) 16.2 GiB 2.3 s
    model (picked for 10–20 GB) 7.8 GiB 7.4 s
    sequential (picked for less than 10 GB) 1.0 GiB 34 s

    *Measured on an RTX PRO 6000 with the models already loaded. Your times will differ.

  • About 16 GB of disk for the model files, downloaded once into the Hugging Face cache.

  • uv (or Python 3.11–3.13 with pip).

  • No NVIDIA GPU (an Apple Silicon Mac, for example)? Use --cloud with an MCPBytes API key; see below.

Install and run

uvx --torch-backend=auto mcpbytes-pixel-sprite download
uvx --torch-backend=auto mcpbytes-pixel-sprite generate "A forest ranger with a green hood and a brown satchel" --seed 42

--torch-backend=auto installs the CUDA build of PyTorch that matches your driver. Without it, PyTorch from PyPI is CPU-only on Windows. With pip: pip install mcpbytes-pixel-sprite --extra-index-url https://download.pytorch.org/whl/cu128.

download fetches the pinned files listed below (about 16 GB, resumable). generate also downloads anything that is missing, then writes to pixel-sprites/<timestamp>/ (or to -o <new or empty folder>):

File Contents
raw_N.png The model's 512×512 render, before any processing
sprite_N.png The 128×128 sheet: transparent background, one shared palette
sprite_N.json Frame rectangles and pivots, animations, palette, QA status and warnings
sprite_N.zip Sheet, 16 frames, 4 walk GIFs, manifest.json, qa.json, provenance.json, godot/, unity/, IMPORTING.md
generation.json Effective options, seeds and model revisions (your description is left out)

Options: --variants 1-4, --reference image.png (a PNG or JPEG of your character), --opaque, --palette-colors 16|32|64, --palette "#rrggbb,#rrggbb,…", --frame-duration-ms 40-1000, --seed. The same seed, inputs, hardware and --offload mode reproduce a result byte for byte. Seeds are derived the same way as in the hosted tool, but individual pixels can still differ between GPUs.

qa_status is unreviewed or needs_review; it is never an approval. Check anatomy, facing direction, identity across views and transparency yourself. Walk previews play poses [0, 1, 2, 1]: three drawn poses, not four.

MCP server

Add this to your MCP client's configuration (for example claude_desktop_config.json, .cursor/mcp.json):

{
  "mcpServers": {
    "pixel-sprite": {
      "command": "uvx",
      "args": ["--torch-backend=auto", "mcpbytes-pixel-sprite", "mcp"]
    }
  }
}

Run mcpbytes-pixel-sprite download once first. A 16 GB download would outlast any client's timeout, so the tool asks for it instead of starting it. The server provides one tool, create_pixel_sprite, with the options above plus output_dir. It writes the files, returns their summary and shows each sheet enlarged 4× so the model can look at it. Files go to ~/mcpbytes/pixel-sprites/<timestamp>/ unless the call passes output_dir, or you set MCPBYTES_OUTPUT_DIR. The models load on the first call and stay in memory.

Cloud mode (optional)

--cloud sends the job to MCPBytes GPUs instead and charges prepaid credits (prices at mcpbytes.com/pricing). Create a key at console.mcpbytes.com/keys:

export MCPBYTES_API_KEY=...
uvx mcpbytes-pixel-sprite generate "A forest ranger" --cloud
uvx mcpbytes-pixel-sprite mcp --cloud      # the MCP server, backed by the hosted tool

The files are the same. The run prints a request key: if it is interrupted, run it again with --idempotency-key <key> to resume the same job without a second charge. Nothing is sent to MCPBytes unless you pass --cloud.

Models

Nothing is bundled. These files are downloaded from Hugging Face at pinned commits and licensed to you by their publishers (all Apache-2.0, no account needed):

HF_HOME, HF_ENDPOINT, HF_TOKEN and HF_HUB_OFFLINE work as usual. See NOTICE for attributions.

Licence

GNU AGPL v3.0 only. The files copied into every export (IMPORTING.md and the Unity importer script) are MIT-0, so you can ship them in a game under any terms. The sprites you generate are yours. See NOTICE.

Metadata

Release files for mcpbytes-pixel-sprite 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mcpbytes-pixel-sprite 0.1.1
File Size Uploaded Provenance
mcpbytes_pixel_sprite-0.1.1.tar.gz 39.0 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for mcpbytes-pixel-sprite 0.1.1
File Interpreter ABI Platform
mcpbytes_pixel_sprite-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 81.4 kB

Release files / mcpbytes_pixel_sprite-0.1.1.tar.gz

Download URL mcpbytes_pixel_sprite-0.1.1.tar.gz
Size 39.0 kB
Tags Source
SHA-256 checksum
How to use checksums
9bfe8a7aa83e5322715b4226ee6494af93dfed6906e658d357b966939d6fd98c
BLAKE2b-256 checksum
How to use checksums
09d5e22be547f587bacbd58f401e991b019f0cd68da65581ee14381ba16a4c9e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.24 {"installer":{"name":"uv","version":"0.12.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / mcpbytes_pixel_sprite-0.1.1-py3-none-any.whl

Download URL mcpbytes_pixel_sprite-0.1.1-py3-none-any.whl
Size 42.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bbc4b2e47254631558cae5d277b68f432666ad7b3c02b933dfab0de00545621d
BLAKE2b-256 checksum
How to use checksums
40a7853f6bafe479e1ec933fa32812905a84f36f3708fa3415121f06a83c92d0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.24 {"installer":{"name":"uv","version":"0.12.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Security for mcpbytes-pixel-sprite 0.1.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page