generate_animation_set
Generate several animations in one job, one clip per animation, all run in parallel. For several facings of one character (its rotation views) use this, not one animate_sprite call per facing: the set decides room and size once for every facing, so they come out one size. Ways to use it:
A PRESET on one or more sprites: platformer-character (idle, walk, run, jump, attack-1, death, hurt) or a top-down set (topdown-walk/run/dash/attack: 8 directions; topdown-idle: 4). Every sprite gets EVERY action of the preset: topdown-run on one image makes all 8 runs (8 clips), not one. For one clip, pass no preset and type the action (way 3).
A PRESET across an 8-way rotation set: one item per facing, {assetId, frameIndex:, imageIndex:i} where i is the facing's position in the frame's facings list, and every facing gets its own directional clip (walk-left from the left-facing image, …). If the facings list has no 'down' (the sprite was drawn facing the camera), add {assetId, base:true} as 'down'. If it already has 'down' (a side-view sprite), use only the rotation's own images: the base is the side view, not the front. For topdown-idle pick only the 4 cardinals (down, right, up, left). The left, up-left and down-left clips are mirrored from their right-side twins in the same rotation set, for free; set flipFacings false to animate them too.
No preset, a typed action: one clip per image. A list of actions makes one clip per action (up to 6): 'name: description' separated by semicolons names each clip (e.g. 'attack-2: an overhead slash; block: raise the sword to guard'); for one image a plain 'idle, run, jump' also works. Several actions on several images: every image gets every action. Cost: 15 credits per clip, 25 per clip of a 1024 HD image (drawn at 1080P), 30 per looping walk/run clip (walk, stroll, march, sneak, tiptoe, patrol, run, jog, sprint, dash, a charge forward) of a 1024 HD image; mirrored clips are free and clips that fail are refunded. Clips that come back to their start (idle, walk, run, attack, jump, hurt, dash) end on their own first frame, so they loop; one-off clips such as a death do not. Clips are added to their source asset as frames named after the action. Price check: without expectedCost this only shows the plan (the clips it would make and the total) and charges nothing; show it to the user, then call again with expectedCost set to that total. A plan that would charge anything else is refused, with nothing charged.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"items": "<items>"
},
"name": "generate_animation_set"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| room | No | Room for big moves, decided once per sprite for the whole set so it is one size in every clip. auto: if any clip is a big move (kick, special, fall, jump) and the character fills its frame, every clip of that sprite draws it a little smaller. on: always. off: never | auto |
| items | Yes | Images to animate, in order | |
| preset | No | Named set of actions (see get_animation_presets) | |
| prompt | No | Without a preset: the actions to make, as 'name: description' separated by semicolons. With one: optional extra direction for every clip | |
| autoFlip | No | After the run, mirror every right-side clip on the asset that has no left twin (animate only the right-facing turns, get all eight). Free | |
| holdFacing | No | End every clip on the frame it started from, even one-off clips such as a death (by default loops end on their start and one-offs don't) | |
| flipFacings | No | On an 8-way rotation set, mirror the left-side clips from the right-side ones instead of animating them (mirrored clips are free). One-sided details swap sides, as on the rotation images | |
| expectedCost | No | The total in credits the user confirmed from the plan. Omit to get the plan first (free) |