Animating
Motion sentences, the gutter, and why consistency is yours to keep.
The Animate bench takes a full four-side turnaround — front, right, back, left, all four, no substitutes — plus a sentence describing the motion, and returns a looping cycle as individual PNG frames per direction.
What goes in
The four sides a Four sides rotation produces are exactly the four this bench requires; run one first and pull its outputs straight from the parts bin. Partial sets and diagonal views are refused before anything is charged.
Describe the motion the way you described the character: plainly, and about the movement rather than the camera —
walking with a heavy, tired strideThe gutter
The four directions are animated together on one shared square and cut apart afterwards. The gutter is the padding around the character inside each cell, as a percentage of the drawing — and it is a trade:
- More gutter buys room for wide motion — sword swings, long strides, jumps — at the cost of resolution.
- Less gutter buys pixels. At 0% the cells sit edge to edge, and anything drawn past a cell's boundary lands in the neighbouring direction's frames: the neighbour gains a sword tip, the swing loses one, and every frame still looks complete. Keep 0% for motions that stay inside the silhouette, if at all.
The character comes back at round(480 / (1 + 2·gutter/100)) pixels per
direction: 480px at 0%, 240px at the default 50%, 160px at
100%.
One character, one gutter, the same files
Two animations of one character line up in your engine only if every job was given the same four drawings and the same gutter. This cannot be enforced server-side — each job sees one animation and has never heard of the others — so it is yours to keep, and breaking it fails silently: a walk made at 50 and an idle at 100 both look perfect here, come back at 240px and 160px, and the discovery happens later, in the engine, with both already imported.
"The same drawings" means the same files, not the same character. The output size is computed from the drawing's canvas, so a re-cropped copy or a freshly regenerated lookalike changes the scale even at an identical gutter. Reuse the exact rotation outputs from the parts bin every time.
What comes out
One PNG per frame per direction, foldered and numbered —
front/frame_0001.png — in a single zip. Frame counts vary between
generations: the loop is discovered, not imposed, so one cycle may be 14
frames and the next 23. Read the file list as the manifest rather than
assuming a count.
The frames carry no frame rate — that is your engine's decision. The workshop's own preview plays at 24 fps, which is a sensible starting point.
One honest caveat: completed means the pipeline ran, not that the motion
is good. If a cycle comes back unusable, keep the job id and write to
hello@gensprite.ai.