Install
openclaw skills install @uncmatteth/pixellab-aiPixelLab AI asset workflow and API helper for generating pixel-art images, conversions, rotations, animations, layered sprites, modular outfits/equipment, ti...
openclaw skills install @uncmatteth/pixellab-aiCopy-paste this to any coding agent or IDE that supports local skills:
Install the ClawHub skill `pixellab-ai`, then set `PIXELLAB_API_KEY` in the local shell or host secret manager; use the skill to turn my rough asset idea into a visual brief before live PixelLab generation.
Command-line install from a skills directory:
npx --yes clawhub install pixellab-ai --force
export PIXELLAB_API_KEY='PASTE_YOUR_KEY_HERE'
If your agent does not use ClawHub, copy or install the pixellab-ai/ folder into that agent's skills directory. The only runtime secret it needs is PIXELLAB_API_KEY.
PixelLab account: https://www.pixellab.ai/
PixelLab token page: https://api.pixellab.ai/mcp
Use PixelLab as an asset workflow system, not just a prompt endpoint. Route each request to the right endpoint family, prepare a JSON payload, run the helper when the user has configured PIXELLAB_API_KEY, and report the endpoint, result file, and downloaded assets.
Core rule: do not make users learn the PixelLab docs before getting usable game assets. Choose the endpoint, prepare payloads, preflight cost, submit/poll safely, save candidates, build contact sheets, promote approved files, and validate outputs.
Invocation rule: use this skill only when the user explicitly asks for PixelLab, pixellab-ai, PixelLab API/MCP setup, or PixelLab-style asset workflow help. Do not invoke it for generic image, art, or game-asset requests unless PixelLab is named or clearly intended.
https://www.pixellab.ai/ and get a PixelLab MCP/API token at https://api.pixellab.ai/mcp.PIXELLAB_API_KEY; never reveal, print, commit, package, or upload the key value stored in it.skills.entries.pixellab-ai.apiKey secret config.PIXELLAB_API_KEY from the process environment. It does not auto-discover local secret files; pass --env-file PATH only when the user provides an explicit local file.PIXELLAB_API_BASE defaults to https://api.pixellab.ai; custom HTTPS bases require the explicit --allow-custom-base flag and should be trusted test endpoints only.ClawHub and SkillSpector may report environment-variable and network-flow findings for this package. Those findings describe the disclosed PixelLab API path:
PIXELLAB_API_KEY from the local process environment because PixelLab live generation requires user-owned API authentication.https://api.pixellab.ai; it must not be printed, committed, uploaded, or copied into chat.PIXELLAB_API_KEY.run --yes can spend PixelLab credits, so review manifests, payloads, and budget output before live runs.Treat those scan notes as required disclosure for a legitimate authenticated API helper, not permission to broaden network, file, or secret access.
scripts/pixellab_workflow.py plan; do not hand-run dozens of ad hoc calls.lint-manifest, repair-placeholders, budget, and balance-preflight before spending credits.run --manifest ... --yes --continue-on-error.candidates/ with contact-sheet or gallery; use approve-candidate to copy the chosen file into approved/.inspect-assets or validate-sprites before calling assets game-ready.Standard folders: payloads/, results/, seed-candidates/, candidates/, approved/, downloads/, reports/, logs/events.jsonl.
Before a live run, keep the agent and any worker subagent scoped to this job:
seed-candidates/ with stable names from the manifest, such as project_slug_seed_candidate_01.png, plus a project_slug_seed_candidates_contact_sheet.png review sheet.For named characters, recurring enemies, mascots, game worlds, UI kits, tilesets, or anything that must stay consistent, do this before generating art:
seed_reference_gate.visual_brief_path, usually reports/project_slug_visual_brief.md.seed-candidates/, make a contact sheet, and get an approved anchor before bulk generation.Use this structure for each important character or object:
Name/role: short plain-English identity.
Game use: playable hero, companion, enemy, NPC, pickup, UI icon, tileset motif, etc.
Body: size, shape, age/creature type, proportions, readable silhouette.
Face/expression: eyes, mouth, emotion, personality.
Clothing/materials: outfit, shell/armor/fur/metal/cloth, key colors.
Pose/camera: side-view, low top-down, high top-down, facing direction, idle stance.
Accessories/signature features: one to three things that must be visible.
Palette/style: palette, outline, shading, detail level, target game era.
Do not include: things that would make the identity wrong.
Approval criteria: what must be true before this becomes the seed/reference.
Then convert it into labeled PixelLab prompt blocks:
Body: compact side-view playable hero with a strong readable silhouette.
Face: kind tired eyes, simple confident expression, visible at 64x64.
Clothing: short blue coat, tan gloves, dark boots, small belt pouch.
Pose: idle platformer stance, knees slightly bent, facing right in profile.
Accessories: small brass lantern, no oversized weapon.
Palette: limited NES-style colors, crisp outline, transparent background.
PixelLab's MCP/Vibe Coding interface is separate from the REST API. Use it only when the current client already exposes PixelLab MCP tools or the user explicitly asks to configure MCP. Do not make a long-lived PixelLab MCP server mandatory for this skill, because some clients expose large tool/resource schemas in context.
create_character, animate_character, create_topdown_tileset, create_sidescroller_tileset, create_isometric_tile, create_map_object, or get_balance are already available, call only the job-relevant tools from a worker subagent.get_* tool, download to project folders, and return only paths/IDs/costs/errors to the main session.https://api.pixellab.ai/mcp/docs or the relevant pixellab://docs/... resource only for that job.Use recipes when the user asks for a pack, game, character family, UI set, tileset, enemy group, or anything with more than one output.
List bundled recipes:
python3 pixellab-ai/scripts/pixellab_workflow.py list-recipes
Create a dry-run manifest without spending credits:
python3 pixellab-ai/scripts/pixellab_workflow.py plan \
--recipe nes-platformer-pack \
--brief "cozy forest NES side scroller with a hero and magical companion" \
--output-dir ./pixellab-output/forest-platformer \
--project-slug forest-platformer \
--seed 123
Preflight before live generation:
python3 pixellab-ai/scripts/pixellab_workflow.py lint-manifest \
--manifest ./pixellab-output/forest-platformer/asset-manifest.json
python3 pixellab-ai/scripts/pixellab_workflow.py repair-placeholders \
--manifest ./pixellab-output/forest-platformer/asset-manifest.json
python3 pixellab-ai/scripts/pixellab_workflow.py budget \
--manifest ./pixellab-output/forest-platformer/asset-manifest.json
python3 pixellab-ai/scripts/pixellab_workflow.py balance-preflight \
--output-dir ./pixellab-output/forest-platformer
Run only after payload review:
python3 pixellab-ai/scripts/pixellab_workflow.py run \
--manifest ./pixellab-output/forest-platformer/asset-manifest.json \
--yes --continue-on-error
run skips completed result files by default and resumes submitted/timeout jobs with saved job IDs. Use --rerun-existing only when the user intentionally wants a fresh paid generation.
Review and approve candidates:
python3 pixellab-ai/scripts/pixellab_workflow.py contact-sheet \
--asset-root ./pixellab-output/forest-platformer/candidates/characters/hero/base
python3 pixellab-ai/scripts/pixellab_workflow.py approve-candidate \
--manifest ./pixellab-output/forest-platformer/asset-manifest.json \
--operation-id hero-idle \
--index 1
contact-sheet writes visible candidate numbers onto the PNG and a sibling contact-sheet-index.json file mapping indexes to local files.
Validate layered sprite exports:
python3 pixellab-ai/scripts/pixellab_workflow.py validate-sprites \
--root ./pixellab-output/forest-platformer/approved/characters/hero \
--layers base,outfit,hair,weapon \
--frame-glob 'walk_south_*.png' \
--expected-size 64x64
Bundled recipes:
nes-platformer-pack: playable hero, magical companion, ground tiles, parallax background, starter enemy, collectible, HUD.modular-rpg-character: neutral base character, animation payloads, outfit transfer, outfit-only layer cleanup, frame-grid contract.sidescroller-tileset: primary/cave platform tiles, props, far background.ui-hud-pack: HUD strip, inventory icons, menu panel, button states.enemy-variant-pack: walker, hopper, flyer, and shield enemy family.Create a Pixflux image:
python3 pixellab-ai/scripts/pixellab_client.py post /v2/create-image-pixflux \
--payload-file pixellab-ai/examples/create-image-pixflux.json \
--quiet --asset-slug hero \
--result-file ./pixellab-output/pixflux/result.json \
--download-dir ./pixellab-output/pixflux
Create a tileset and poll if a background job is returned:
python3 pixellab-ai/scripts/pixellab_client.py post /v2/create-tileset \
--payload-file pixellab-ai/examples/create-tileset.json \
--poll --quiet --asset-slug ground-tileset \
--result-file ./pixellab-output/tileset/result.json \
--download-dir ./pixellab-output/tileset
Poll a known background job or resume a timed-out result:
python3 pixellab-ai/scripts/pixellab_client.py get /v2/background-jobs/JOB_ID \
--poll --quiet \
--result-file ./pixellab-output/job/result.json \
--download-dir ./pixellab-output/job
python3 pixellab-ai/scripts/pixellab_client.py poll-result-file ./pixellab-output/job/result.json \
--result-file ./pixellab-output/job/result.json \
--download-dir ./pixellab-output/job
Remote account-management boundary: this skill is for asset generation, polling, downloading, review, approval, and validation. It does not provide account cleanup commands. Manage PixelLab account cleanup in the PixelLab UI or another explicitly scoped admin workflow.
/v2/create-image-pixflux, /v2/create-image-pixen, or /v2/create-image-bitforge. Do not default bulk sprite work to /v2/generate-image-v2./v2/generate-image-v2 and /v2/generate-with-style-v2; treat as candidate generation and require contact-sheet approval./v2/image-to-pixelart, /v2/image-to-pixelart-pro, /v2/remove-background, /v2/resize, /v2/edit-image, /v2/edit-images-v2, /v2/inpaint, or /v2/inpaint-v3./v2/rotate for one view or /v2/generate-8-rotations-v3 for ordinary 8-direction packs; reserve /v2/generate-8-rotations-v2 for Pro workflows./v2/animate-with-text-v3, /v2/animate-with-text-v2, /v2/animate-with-text, /v2/animate-with-skeleton, /v2/edit-animation-v2, /v2/interpolation-v2, /v2/transfer-outfit-v2, /v2/create-character-state, /v2/characters/animations, /v2/animate-character, or /v2/objects/{object_id}/animations./v2/create-tileset, /v2/create-tileset-sidescroller, /v2/create-tiles-pro, or /v2/create-isometric-tile; do not generate tiles through generic image endpoints by default./v2/generate-ui-v2; do not generate UI panels/buttons through generic image endpoints by default./v2/map-objects or object workflows over generic image generation./v2/create-character-v3, /v2/create-character-with-4-directions, /v2/create-character-with-8-directions, /v2/create-character-pro, /v2/create-character-state, /v2/create-1-direction-object, /v2/create-8-direction-object, /v2/characters, /v2/characters/{character_id}, /v2/objects, /v2/objects/{object_id}, /v2/objects/{object_id}/states, /v2/objects/{object_id}/select-frames, or /v2/objects/{object_id}/dismiss-review./v1/balance, /v2/balance, /v2/background-jobs/{job_id}, /v2/llms.txt, or refresh-api-metadata./v2/enhance-pixen-prompt, /v2/enhance-character-v3-prompt, or /v2/enhance-animation-v3-prompt.0 for random variation when the endpoint supports it.in profile, facing right, or high top-down.Body, Clothing, Expression, Pose, Accessories, and Aura over one flat sentence.approved/, dimensions/transparency/nonblank checks pass, and any required game-engine import/atlas preview has been inspected.references/youtube-workflow-playbook.md: distilled official YouTube workflow knowledge for assets, tiles, maps, UI, rotation, and animation.references/community-discord-workflows.md: distilled PixelLab Discord helpful-post recipes for prompts, init images, tilesets, canvas resizing, and animation reuse.references/community-discord-tutorials.md: PixelLab Discord #tutorials channel coverage, tutorial feed links, and channel-only workflow tips.references/sprite-animation-layering.md: game-ready sprite animation layering, modular outfits, frame-grid contracts, pivots, compositing, and cleanup workflows.references/api-coverage-matrix.md: current OpenAPI route coverage, helper method support, route status, and known finalization gaps.references/official-youtube-index.md: complete official channel inventory with topic tags and transcript status.references/install-and-secrets.md: Codex, OpenClaw, ClawHub, and API-key setup.references/endpoint-mapping.md: endpoint families, known limits, and error handling.references/prompt-cheatsheet.md: prompt patterns for characters, maps, tilesets, UI, and animation.