latestSwagger 2.02026-08-19218237253.7 KB

3af866d68651

Spritesheets

Animate a static sprite into a spritesheet driven by a motion text prompt (image-to-spritesheet): supply an initial_image (URL or base64) plus a motion_prompt like "walking" or "attack slash", and optionally a final_image to interpolate between a start and end frame. For animations driven by up to three keyframes (including a middle frame), use animateSpriteKeyframes instead. Synchronous: the call blocks until the spritesheet is rendered and returns a single sprite result directly (spritesheet URL, frame layout, and optionally a GIF or individual frame URLs when requested) with no separate polling step. The chosen model must support sprite animation and the duration must be valid for it; incompatible model/duration combinations return HTTP 400. Credits are charged only on success, based on the produced duration and never more than the duration you requested. For best results, call generatePose first to put the character into the desired pose, then animate it here; use listAnimationPresets to discover named presets, and prefer transferMotion when you already have a reference video or preset to copy motion from rather than describing it in text. Pass an optional request_id to tag the result so you can locate it later via getSpriteResults. Requires an API key (user scope).

post/assets/sprite/animate

Request body

motion_promptstring required

Text description of the desired animation (e.g., "walking", "jumping", "idle breathing", "attack slash").

initial_imagestring required

The url OR base64 of the starting frame image to animate. This is the base sprite that will be brought to life.

final_imagestring

The url OR base64 of ending frame image. When provided, the animation will interpolate between the initial and final frames.

loopboolean

Trim the animation at the beginning or end to create a seamless loop. Not guaranteed to produce a perfect loop.

cropboolean

Crop sprite frames to fit content. Results in smaller spritesheets but inconsistent frame sizes across different animations.

frames4 | 9 | 16 | 25 | 36 | 49 | 64

Number of frames in the output spritesheet.

frame_size32 | 64 | 96 | 128 | 192 | 256 | 384 | 0 | -1 | -9

Size of each frame in pixels (width and height). 0 is for maximum resolution. -1 is for AI 1.5x upscaling. -9 is for matching the size and position of the input frame.

margin_rationumber float

Deprecated — prefer margin_ratio_horizontal / margin_ratio_vertical. Amount of padding around the sprite as a ratio (0.0 to 1.0), applied to both axes (equivalent to setting both per-axis params to this value). Only used when margin_ratio_mode is "manual". Cannot be combined with the per-axis params: providing both fails with HTTP 400.

margin_ratio_horizontalnumber float

Horizontal padding around the sprite as a ratio (0.0 to 1.0). Only used when margin_ratio_mode is "manual". Useful for animations that extend sideways (e.g., sword slashes, punches). Cannot be combined with the legacy margin_ratio param.

margin_ratio_verticalnumber float

Vertical padding around the sprite as a ratio (0.0 to 1.0). Only used when margin_ratio_mode is "manual". Useful for animations that extend up or down (e.g., jumps). Cannot be combined with the legacy margin_ratio param.

margin_ratio_mode'auto' | 'manual' | 'none'

Controls how margins are applied around the sprite.

image_type'sprite' | 'sprite-vfx' | 'ui_asset'

Type of sprite being animated. Affects generation parameters and styling.

model'blitz' | 'forge' | 'eagle' | 'eagle-audio' | 'standard'

Animation model to use. forge is best for basic animations and relatively simple sprites; blitz (default) is the most reliable and predictable, but can struggle with very short animations; eagle suits complex motion or visually complex sprites; eagle-audio has the same visuals as eagle plus audio generation.

durationnumber float

Animation length in seconds. Available values depend on the model — the source of truth is MODEL_PRICING (credits.js), surfaced via /credits/costs; the public API docs list them per model (auto-generated).

augment_promptboolean

Augment the prompt behind the scenes. Disable to have more control.

gifboolean

When true, generates an animated GIF from the spritesheet and returns it in gif_url. Disabled by default to reduce response time.

individual_framesboolean

When true, extracts each frame from the spritesheet as an individual image and returns the URLs in individual_frame_urls.

spritesheet_with_backgroundboolean

When true, also returns the spritesheet with background intact (before background removal). Useful for manually fixing background removal issues. The with-background spritesheet URL will be in spritesheet_with_background_url.

request_idstring

Optional client-provided identifier for this request. Use this to retrieve results later via the results endpoint.

Response

Success

spritesheet_urlstring
video_urlstring
audio_b64string
gif_urlstring
individual_frame_urlsstring[]
num_framesinteger
num_colsinteger
num_rowsinteger
spritesheet_with_background_urlstring
individual_frame_with_background_urlsstring[]
durationnumber float
request_idstring
created_atinteger