Generate variants
generate_variantsGenerate pixel-art variants of an existing sprite (in-app Variants), or edit it in place with keep_footprint. Source: asset_id (+ artboard_id/artboard_name for multi-artboard files) OR style_reference_id. Defaults when the user does not say: creativity creative, density quality, Variants (not Edit). State the assumptions you used; ask only for what cannot be inferred. Edit = keep_footprint true + custom_prompt (or color_mood alone to recolour only). Replace = creativity "replace" + custom_prompt naming the new object (e.g. "wooden barrel"). Results keep the source artboard size and are appended to the source file. Only an off-center subject blocks (fix_preflight: true re-centers it); brush/size findings are advisory warnings (fix_preflight: "all" applies them). ~8 credits (HD).
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "generate_variants"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| save | No | Append finished artboards into the source library file (default true). From a style ref → create a new library file. | |
| count | No | Optional hard cap on variant count. Density (max/quality/quantity) sets the plan; when both are set, count is clamped to the plan’s effectiveCount. Prefer density. | |
| labels | No | Optional per-variant names. Defaults to 'Variant 1'..N from the density plan. Same cap as the in-app label inputs (60 characters). | |
| density | No | max (1) | quality (~3, default) | quantity (as many as fit). Edit (keep_footprint) forces max. | |
| asset_id | No | Source library asset id (from list_assets). Provide this OR style_reference_id (in-app Variants reference-as-source). | |
| set_noun | No | For creativity "set": category noun (e.g. "swords"). Default "items"; ignored otherwise. | |
| folder_id | No | Optional Files folder for a new library file when sourcing from style_reference_id. | |
| reimagine | No | Edit only: allow freer re-imagining (in-app Reimagine). Default false. | |
| color_mood | No | Optional recolour mood (same as the app). Omit to keep the source colours. | |
| creativity | No | recolor (Reskin) | creative (Reskin Creative, default) | set | custom (Prompted) | replace (Replace: swap the subject for the object named in custom_prompt at the same size, position and camera; one result). Edit (keep_footprint) forces custom. | |
| project_id | No | When sourcing from style_reference_id: project for the new library file (defaults like generate_pixel_art). | |
| artboard_id | No | Optional artboard id from get_asset. Multi-artboard files need artboard_id or artboard_name to pick one sprite; omit for single-artboard assets. | |
| color_policy | No | Palette policy matching in-app ColorPolicyControl: "32"|"64"|"128"|"256" (max colors) or "none" (don't reduce). Default "128". Put palette caps here, not in the prompt. | |
| artboard_name | No | Optional artboard name from get_asset (e.g. "rocks_crystal"). Alternative to artboard_id. | |
| custom_prompt | No | Required when creativity is 'custom' (Prompted / Edit) — subject/style instruction only. Put size on the source artboard (not '64x64' here); put palette caps in color_policy; omit 'no anti-aliasing' / 'crisp pixel clusters' lectures. Same cap as the in-app prompt box: longer text is trimmed to the first 1000 characters and the reply says so. | |
| fix_preflight | No | true = re-center the subject for this run (the only blocking finding). "all" = also apply the advisory brush and artboard-resize fixes, which can change the output size. Default false. The saved library file is not changed. | |
| project_style | No | Style for this generation: "project" (default) draws the result in the game world of the account's active style (its brief, see get_style_profile); "none" leaves the brief out for a one-off asset outside that world. | |
| keep_footprint | No | true = Edit (in-place edit that keeps the silhouette; forces custom + single output; needs custom_prompt, or color_mood alone for a recolour-only edit). Default false = Variants. | |
| style_reference_id | No | Use a References library image as the Variants source (same as in-app picking a style ref on Variants). Alternative to asset_id. Results save as a new library file. | |
| preserve_composition | No | Default true. Set false only when the user wants a freer layout. |