Common problems
The fast answers, most-hit first.
The sprite isn't facing the viewer
Add front view to the description — and make sure the Perspective
setting isn't telling a different story (Top-down and "front view" fight
each other). The facing occasionally refuses to take even so; rerun with a
different seed rather than adding more camera words.
More on facing →
The sprite is side-view but my game is top-down
Two ways out. The dependable one: regenerate with the right Perspective — 3⁄4 or Top-down — before building on the character. The shortcut: rotate it with Elevation set to your game's camera (~60° isometric, 90° top-down). The shortcut can work, but the further the new camera is from the drawing's own, the less consistent the sides tend to come back.
Rotated views don't match the original's camera angle
Elevation defaults to 0° (eye level) and nothing sets it for you. Match it to the camera the drawing was made for: 0° platformer, ~60° isometric, 90° top-down. The elevation table →
Every side of my turnaround is named wrong
The side names assume the input faces the viewer. A drawing that faces sideways comes back with every file shifted a quarter turn — nothing warns about this. Rotate a front-facing drawing.
Two animations of the same character import at different sizes
Same four drawings — the same files, from the parts bin, not re-cropped
copies — and the same gutter, for every animation of that character. Size
is round(480/(1+2·g/100)) px: gutter 50 → 240px, gutter 100 → 160px.
The gutter rule →
A sword tip or limb is clipped, or stray pixels appear in frames
The four directions animate on one shared square; anything past a cell boundary lands in the neighbouring direction. Raise the gutter for wide motions; the cost is resolution, not money.
Animate refuses to price or start
All four sides — front, right, back, left — plus a motion sentence are mandatory. Partial sets and diagonals are rejected. A Four sides rotation produces exactly the required set.
Sprites look soft or blurry in the engine
Check the direction of the scaling: these are raster images at a generous native size, meant to be scaled down in-engine. Scaling above native size goes soft — there are no more samples to show. Import at full size and shrink the node; if you need more resolution in an animation, lower the gutter and regenerate. Import guidance →
One animation has 14 frames, the next has 23
Normal — the loop is discovered per generation, not imposed. Let the engine read the folder instead of hard-coding a count, and pick your own frame rate (the workshop previews at 24 fps).
The progress bar sits still — is it stuck?
The percentage is advisory; it may sit, then jump. Trust the elapsed time. If you do want out, History is the only place to cancel, and cancelling refunds the full charge.
A failed job took my credits
Only for a moment. Jobs charge on creation and refund themselves on failure or cancel — usually within a second. History shows the row as "0 cr / refunded", and the Billing ledger shows both movements with the job id.
The settings are frozen and I can't change anything
A finished job shows its settings as a record — "this job has been paid for". Press Edit a copy to load them (seed included) into live controls, or New generation to clear the bench.
Old downloads are gone / "Edit a copy" is greyed out
Files are kept while the account has spendable credits or an active plan. When both lapse, a 90-day countdown starts — the amber banner in the workshop is the clock, with the exact date. Topping up before the deadline keeps everything; after it, the pictures are gone but the records remain.
I lost an API key
It cannot be recovered — the server stores a hash, never the key. Revoke the lost one in Settings and mint a new one. Name keys for where they run, so revoking is never a guess.
The output is bad but the job says completed
completed means the pipeline ran, not that the art is right. For
generations that came back unusable, keep the job id and write to
hello@gensprite.ai.