Skip to content
MCPBytes

Images

Describe a character.See them move.

Turn a character idea into a sprite sheet, individual frames and walking previews. Review the result, then bring it into your game.

From 20 credits · 300 free credits to start

A green-clad ranger in sixteen pixel-art poses
“A forest ranger with a green hood and a brown satchel.”

One idea. Up to four takes.

Each variant is another complete character sheet to choose from. All variants include a 128 × 128 sheet, sixteen frame PNGs and four walking previews. Choose more variants for more alternatives.

Check every direction.

Preview walking down, left, right and up. Each loop reuses three generated poses in a four-frame sequence.

One palette throughout.

Choose a shared palette size or supply your own colors. Review the raw image, transparency and frame checks before putting the character to work.

Pricing

Pay by the job.

From 20 credits. A variant is one complete candidate sheet. Choose 1, 2, 3 or 4 variants to get that many different takes on the same request. Every candidate has the same 128 × 128 size, sixteen frames and four walking previews; the price increases with the number of candidates. A failed job is refunded.

Pricing details

Start free

Available now

300free credits when you sign up

  • Every MCPBytes tool, one credit balance
  • Sign in with GitHub or email, no card required
  • Each tool states its price before you run it
  • Failed API jobs cost nothing

Price per job

Create a pixel sprite

1 variant
20 credits
2 variants
40 credits
3 variants
60 credits
4 variants
80 credits

Limits

Description
Up to 4,000 characters
Candidates
1–4 sheets per request
Reference
PNG or JPEG, up to 20 MB and within your account's upload limit
At a time
1 job
Uploads
Up to 50 MB
Results
24 hours by default

API

Your agent or your code.

Connect your agent and it can use this tool right away, or call it from your own code. One key works for both.

Start a job

Send the options as JSON. Include an upload ID or an owned job file when adding a reference. Options such as description go in the options object.

Requestcreate-sprite.sh
curl https://api.mcpbytes.com/v1/tools/create_pixel_sprite/jobs \
  -H "Authorization: Bearer $MCPBYTES_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "options": {"description": "A forest ranger with a green hood and a brown satchel", "seed": 42},
    "idempotency_key": "pixel-sprite-example-002"
  }'
Response202 Accepted · trimmed
{
  "tool": "create_pixel_sprite",
  "status": "queued",
  "input_kind": "parameters",
  "result": null
}

Get the result

Poll until the status is final. Download files only after success.

Requestread-sprite.sh
# JOB_ID is the id from the create response
curl "https://api.mcpbytes.com/v1/jobs/$JOB_ID" \
  -H "Authorization: Bearer $MCPBYTES_API_KEY"
Response200 OK · trimmed
{
  "tool": "create_pixel_sprite",
  "status": "succeeded",
  "result": {
    "variants": 1,
    "qa_status": "needs_review",
    "files": [
      {
        "name": "raw_1.png"
      },
      {
        "name": "sprite_1.png"
      },
      {
        "name": "sprite_1.json"
      },
      {
        "name": "sprite_1.zip"
      },
      {
        "name": "generation.json"
      }
    ]
  }
}

MCP

Connect once. Your agent calls create_pixel_sprite and gets the download URLs back. This endpoint has only this tool's family, which keeps your agent's tool list short; one endpoint has every tool.

Claude Code

The first form signs in through the browser when you run /mcp. In .mcp.json (project root), ${MCPBYTES_API_KEY} is read from the environment when Claude Code connects. Claude Code docs

claude mcp add --transport http mcpbytes \
  https://api.mcpbytes.com/mcp/image
Codex (CLI, IDE extension, ChatGPT desktop)

Codex reads the key from the environment variable each time it connects. The same table can go in ~/.codex/config.toml by hand; codex mcp add has no --header flag. Codex docs

codex mcp add mcpbytes --url https://api.mcpbytes.com/mcp/image \
  --bearer-token-env-var MCPBYTES_API_KEY
Cursor

~/.cursor/mcp.json (all projects) or .cursor/mcp.json (one project). Remote servers take no "type". Without the header, the client signs you in with GitHub or an email link (OAuth). Cursor docs

~/.cursor/mcp.json
{
  "mcpServers": {
    "mcpbytes": {
      "url": "https://api.mcpbytes.com/mcp/image",
      "headers": {
        "Authorization": "Bearer ${env:MCPBYTES_API_KEY}"
      }
    }
  }
}
11 more clients in the docs →
MCP tools
create_pixel_sprite
Generate 1–4 character sprite sheets from a description and an optional uploaded reference. Each 128×128 PNG contains sixteen 32×32 cells: three walk poses per direction and four extra still poses. ZIP exports contain fixed-size frames, looping previews, QA and animation metadata. Outputs require visual review; previews reuse three poses, not four distinct frames. No arbitrary actions or eight-direction animation. Follow the asynchronous job with get_job. variants: 1: 20 credits. variants: 2: 40 credits. variants: 3: 60 credits. variants: 4: 80 credits. Requires idempotency_key; retain it when retrying the same request.
create_upload
Returns a one-hour URL to PUT a local file to; then call the tool with the upload_id.
get_job
Status and results of a job; waits up to wait_seconds for it to finish.
cancel_job
Cancel a queued job or a workflow whose can_cancel is true; repeated calls never delete results.
list_jobs
Your most recent jobs, newest first.
read_job_file
Reads a text output (.txt .json .md .csv) of a succeeded job in chunks.
Full reference: inputs, options, outputs, limits and errors

Your first jobs are on us.

Sign in with GitHub or email, create a key and connect your agent. The first 300 credits are free.

# Sign in with GitHub when prompted
claude mcp add --transport http mcpbytes \
  https://api.mcpbytes.com/mcp

# Or use an API key
claude mcp add --transport http mcpbytes \
  https://api.mcpbytes.com/mcp \
  --header "Authorization: Bearer $MCPBYTES_API_KEY"