animate_game_art
ChatGPTAnimate a SpriteCook asset into a short pixel-art or detailed animation. This tool requires an owned SpriteCook asset_id. It does not accept inline image bytes. To animate a local image file, use create_asset_upload and finalize_asset_upload first, then call this tool with the returned asset_id. Use import_asset only for small data URLs/base64 payloads. SpriteCook resolves the source asset from the authenticated account and automatically uses the correct stored variant. Omit model for the v1.1 default, or choose pixel-engine-v1.5 for more precise or unusual motion. Animation processing continues asynchronously after submission. This tool returns a durable job id immediately for every animation mode. Use check_job_status(job_id=...) to poll until the output is ready, and do not resubmit a queued or running job because each submission creates and bills a new job. Both generate and read_assets scopes are required. Args: asset_id: Existing SpriteCook asset ID to animate prompt: Describe the desired motion. When auto_enhance_prompt is enabled, simple prompts like 'Idle' or 'Attack' are expanded from the source asset auto_enhance_prompt: When true, inspect the source asset and expand short prompts into a fuller animation prompt edge_margin: Percentage margin added around pixel-art animation sources before framing. The subject stands on the bottom edge as a ground line, so the margin goes on the sides and top only vertical_align: Pixel art only. Omit to keep the ground line. Use 'center' for flying, floating or bouncing subjects, so edge_margin also leaves room below pixel: Optional animation mode override. If omitted for asset_id, inferred from the asset model: Optional provider model: pixel-engine-v1.1, frame-engine-v1.1, or pixel-engine-v1.5. v1.5 supports pixel and detailed modes output_frames: pixel-engine-v1.1 takes even counts from 2 to 16, frame-engine-v1.1 even counts from 2 to 24, pixel-engine-v1.5 any whole number from 3 to 16 output_format: Output format - 'webp', 'gif', or 'spritesheet' negative_prompt: Optional negative prompt; pixel-engine-v1.5 does not support it matte_color: Hex matte color used before processing transparent pixels removebg: Background removal mode - 'None', 'Basic', or 'Pro' (default 'Basic'). Pro adds extra per-frame cost colors: Pixel palette size. Only valid when pixel=True outline_repair: Smart outline repair for pixel art (default True): detects whether the frames have an outline, then restores outline pixels lost during background removal and cleans leftover background at the edges. Leave it on unless the user asks for the raw cutout. wait_seconds: Optional bounded wait from 0 to 90 seconds before returning. Animations usually take 1 to 5 minutes, so a finished result is not guaranteed. Defaults to 0.
assign_assets_to_collection
ChatGPTMove owned assets into a collection, or remove collection membership. The operation is atomic and supports up to 500 assets. A collection inside a project also moves the assets into that project. Omit collection_id or pass null to remove the assets from their collection while leaving their current project unchanged. Args: asset_ids: One or more owned SpriteCook asset UUIDs, up to 500. collection_id: Destination collection UUID, or null to clear membership.
assign_assets_to_project
ChatGPTMove owned assets into a project, or out of all projects. The operation is atomic and supports up to 500 assets. Pass project_id to move assets into that owned project. Omit it or pass null to move the assets to Unorganized; this also clears their collection membership. Args: asset_ids: One or more owned SpriteCook asset UUIDs, up to 500. project_id: Destination project UUID, or null for Unorganized.
auto_slice_asset
ChatGPTAutomatically split an owned SpriteCook asset into separate assets. Uses connected-alpha detection and automatically enables smart alpha isolation when detected bounding boxes overlap. Animations are detected across the union of all frames and each result remains an animation. Start with the defaults. Successful results and slicing errors include manual_slice_url for browser review or custom rectangles when auto-detection is insufficient. Args: asset_id: Owned SpriteCook image or animation asset to split. source_variant: Auto prefers pixel for stills and always uses raw animation spritesheets; raw or pixel may be requested explicitly. alpha_threshold: Minimum visible alpha value, from 0 to 255. min_area: Smallest connected component to keep, in pixels. padding: Transparent context to add around every saved slice, in pixels. merge_distance: Maximum pixel gap used to join nearby components.
cancel_job
ChatGPTCancel an owned SpriteCook job by ID.
cancel_ui_kit
ChatGPTCancel active concept or component-sheet jobs for one owned UI kit.
check_character_animation_run
ChatGPTCheck a guided character animation run by id. Returns this run's items and output assets. Set include_history=True to also list every earlier animation generated for the same character.
check_job_status
ChatGPTCheck the status of a SpriteCook generation or animation job. Returns progress and, when known, eta_seconds for active jobs. On success, still-image jobs return assets and animation jobs return output. Game-art and tileset jobs also return their persisted resolved_parameters. Each asset carries one download URL, sprite_url (plus spritesheet_url for animations). Args: job_id: The job ID returned by generate_game_art or animate_game_art wait_seconds: Optional bounded wait from 0 to 90 seconds for an active job to finish before returning. Defaults to 0. verbose: Also return the legacy url, pixel_url, and raw_url fields per asset. Defaults to False.
create_asset_upload
ChatGPTCreate a short-lived upload URL for importing a local image file. Use this for local file paths, especially large images. Upload the file bytes to the returned upload_url with HTTP PUT and the returned headers, then call finalize_asset_upload with upload_token. Do not print upload_token, upload_url, base64, or file bytes in chat/logs. Args: file_name: Original local file name, including image extension. content_type: Image MIME type, such as image/png or image/webp. display_name: Optional asset display name. project_id: Optional SpriteCook project ID to assign the asset to. collection_id: Optional SpriteCook collection ID to assign the asset to. pixel: True when the source is pixel art; false for detailed/HD source art. size_bytes: Optional local file size for early validation.
create_collection
ChatGPTCreate a folder-like SpriteCook collection. Omit project_id for a top-level collection, or provide an owned project ID to create the collection inside that project. Args: name: Collection name, 1-255 characters after trimming whitespace. project_id: Optional owned project UUID that will contain the collection.
create_project
ChatGPTCreate a SpriteCook project for organizing assets. Free and Starter plans include a set number of projects. At that limit this returns error_code project_limit_reached; existing projects still work. Args: name: Project name, 1-255 characters after trimming whitespace.
create_ui_kit
ChatGPTCreate a durable concept-first UI kit workflow. Pass concept_asset_id when an owned SpriteCook concept already exists; the kit selects it immediately and skips concept generation. Use this workflow for complete screens or UI systems, not one isolated icon or control. Keep the default gpt-image-2.5-flare for concepts unless the user requests another supported model. Component sheets use gpt-image-2.5-sunburst independently.
export_godot_character_package
ChatGPTBuild a Godot-ready character animation package manifest. The tool returns text files plus signed spritesheet download URLs that an agent can write into a local Godot project. Opening the project in Godot 4.x enables the bundled SpriteCook editor plugin, which creates native SpriteFrames resources and wires them into AnimatedSprite2D or AnimatedSprite3D player scenes. Args: run_id: Completed character animation run id from generate_character_animations/check_character_animation_run. animation_asset_ids: Explicit animation asset IDs to export when no run_id is available. character_name: Optional display name used in export metadata. state_hints_by_asset_id: Optional mapping of asset_id to state name, such as Idle, Walk, Run, Jump, Fall, WalkDown, or WalkRight.
export_godot_tileset_package
ChatGPTBuild a Godot-ready package manifest for an owned tileset asset. The result contains a signed tilesheet download plus ready-to-write `.tres` and README text files. Platformer 16-set, compact 15-piece, and already-expanded 47-piece atlases include native Godot terrain metadata. Other layouts include explicit atlas-only guidance without claiming that a Terrain Set is configured; isometric regions remain available in the source texture for manual setup. Args: asset_id: Owned SpriteCook tileset asset ID.
finalize_asset_upload
ChatGPTFinalize a local-file upload into a normal SpriteCook asset. Call this after uploading bytes to the upload_url returned by create_asset_upload. Returns the created asset ID and safe links that can be passed to animate_game_art, generate_game_art, generate_tileset, get_asset_metadata, or preset reference settings. Args: upload_token: Opaque token returned by create_asset_upload.
finalize_ui_kit
ChatGPTCreate reusable UI-element assets from a saved or supplied component draft. A kit supports at most three sheets, 100 components per sheet, and 300 total. Supply corrected components when extraction quality_summary requires review.
generate_character
ChatGPTGenerate a guided base pixel-art character for animation. Args: prompt: Character description. perspective: One of 'platformer', 'isometric', or 'topdown'. model: Optional generation model. Defaults to gemini-nano-banana-2.1. quality: GPT-Image-2 quality tier - 'low', 'medium', or 'high' (default 'medium'). wait_seconds: Optional bounded synchronous wait from 0 to 90 seconds. Defaults to 0.
generate_character_animations
ChatGPTGenerate preset and/or custom animations for a base character. Args: character_id: Base character asset id returned by generate_character. perspective: One of 'platformer', 'isometric', or 'topdown'. animation_ids: Preset animation ids from list_character_workflows. Defaults to the perspective defaults when no custom animations are provided. custom_animations: Optional list of {label, prompt, source_view, output_frames}. output_frames runs on pixel-engine-v1.1: even counts from 2 to 16. bg_removal_provider: 'basic' or 'photoroom' (default 'basic'). wait_seconds: Optional bounded synchronous wait from 0 to 90 seconds. Defaults to 0.
generate_game_art
ChatGPTGenerate still-image game art assets from a text description. Supports two art styles: - pixel=True (default): Pixel art with crisp edges and grid-aligned post-processing. Best for retro/indie games. - pixel=False: Detailed HD game art with smooth gradients and fine detail. Best for higher-fidelity projects. Submits a generation job and returns immediately by default. Use wait_seconds to wait up to 90 seconds before polling separately. Costs credits from your SpriteCook account. Responses include resolved_parameters with the persisted model and effective generation settings. requested_width and requested_height are size hints; completed responses report measured dimensions on each asset and in resolved_parameters.output_dimensions. Args: prompt: What to generate, e.g. 'a medieval iron sword, side view' width: Requested/fallback width hint in pixels (16-512, default 64). The final PNG can differ. height: Requested/fallback height hint in pixels (16-512, default 64). The final PNG can differ. variations: Number of image variations (1-4, default 1) pixel: True for pixel art, False for detailed/HD art (default True) bg_mode: Background mode - 'transparent', 'white', or 'include' (default 'transparent') theme: Art theme/setting context, e.g. 'dark fantasy medieval' (optional) style: Art style direction, e.g. '16-bit SNES style' (optional) aspect_ratio: Aspect ratio - '1:1', '16:9', or '9:16' (default '1:1') smart_crop: Auto-crop output to content bounds (default True) smart_crop_mode: Crop mode. Prefer 'tightest' by default and use 'power_of_2' only when explicitly requested model: AI model - 'gpt-image-2.5-flare' (fast), 'gpt-image-2.5-sunburst' (precision), 'gpt-image-2', 'gemini-2.5-flash-image', 'gemini-nano-banana-2.1' (recommended default), 'gemini-3.1-flash-image', 'gemini-3-pro-image', or 'pixel-engine-image-v1' (pixel art only, text only, drawn at exactly width x height from 16 to 128 px with up to 4:1 sides and the background already removed; no references). Use list_models for current availability. mode: Generation mode - 'assets', 'texture', or 'ui' (default 'assets'). The 'ui' mode is for one isolated UI asset; use the UI kit tools for complete screens or systems. resolution: Output resolution tier - '1K', '2K', or '4K' (default '1K'). 2K and 4K need the Adventurer plan or higher quality: GPT Image 2 / 2.5 quality tier - 'low', 'medium', or 'high' (default 'medium') colors: Color palette constraint, list of hex codes like '#FF0000' (max 64, optional) reference_asset_id: Asset ID to use as one specific visual/context reference (optional) edit_asset_id: Asset ID to edit/modify with the new prompt (optional). Edits preserve the requested generation settings, but exact source geometry is best-effort rather than guaranteed style_asset_ids: Asset IDs to use as style guide images for consistent art (max 14 total references including context/edit images; model limit applies) project_id: Owned SpriteCook project ID to assign generated assets to (optional). Use list_projects to discover IDs. wait_seconds: Optional bounded synchronous wait from 0 to 90 seconds. Defaults to 0. outline_repair: Smart outline repair for pixel art (default True): detects whether the sprite has an outline, then restores outline pixels lost during background removal and cleans leftover background at the edges. Leave it on unless the user asks for the raw cutout.
generate_tileset
ChatGPTGenerate a SpriteCook tileset with tileset-specific validation and post-processing. For local reference/edit/style image files, use create_asset_upload and finalize_asset_upload first, then pass the returned asset ID as reference_asset_id, edit_asset_id, or style_asset_id. Use import_asset only for small data URLs/base64 payloads. Responses include resolved_parameters with the persisted model and effective tileset settings. Args: prompt: Requested terrain/material, e.g. 'mossy dungeon floor'. style_mode: 'pixel' or 'detailed' (default 'pixel'). perspective: 'topdown', 'platformer', or 'isometric' (default 'topdown'). piece_set: '15-piece', '17-piece-base', 'autotile-16-set', 'isometric-3x5-32', or 'isometric-2x4-64'. Defaults from perspective. tile_size: Final tile size in pixels. Defaults from the tileset registry. elevation: 'no-elevation' or 'minimal' where supported. edges: 'transparent' or 'two_surfaces'. two_surfaces is only supported by 15-piece top-down tilesets. variations: Number of generated tilesets, 1-4. model: Optional generation model override. Omit to use the tileset registry default. colors: Optional hex palette guidance, max 64 colors. force_enabled: Force output toward force_colors. force_colors: Optional forced hex palette, max 64 colors. reference_asset_id: Existing tileset asset to use as source/reference; settings are inherited. edit_asset_id: Existing tileset asset to edit; settings are inherited. style_asset_id: Existing asset to use as visual style guide only. wait_seconds: Optional bounded synchronous wait from 0 to 90 seconds. Defaults to 0.
generate_ui_kit_component_sheets
ChatGPTEnqueue transparent component sheets from the selected UI concept. When state_mode is omitted, the kit's stored choice is preserved. When sheet_count is omitted, SpriteCook plans one to three sheets from the concept. Paid jobs return immediately and can be followed with get_ui_kit. Component sheets, edits, and supplements use GPT Image 2.5 Sunburst (gpt-image-2.5-sunburst), independently of the kit's concept model. high_resolution renders 4K sheets and needs the Adventurer plan or higher. Pass wait_seconds (0 to 90) to wait for the sheets in this call.
generate_ui_kit_concepts
ChatGPTEnqueue concept options for a UI kit and return with job IDs. Concepts usually take 70 to 90 seconds. Pass wait_seconds (0 to 90) to wait for them in this call; otherwise follow progress with get_ui_kit.
get_asset_metadata
ChatGPTGet metadata for one of your SpriteCook assets. Use this to inspect an existing asset before animation, editing, or reuse as a style reference. Returns explicit top-level metadata and safe download links without exposing internal storage keys. alpha_editing describes saved edge cleanup, preserved source download, processing mode, and preview layout. Use it to compare cutoffs locally before set_asset_alpha_cutoff; no provider rerun is needed. Args: asset_id: Existing SpriteCook asset ID to inspect verbose: Also return the legacy url, pixel_url, and raw_url fields (raw_url is the source before pixel processing). Defaults to False.
get_credit_balance
ChatGPTCheck your remaining SpriteCook credits and subscription tier. Returns spendable credits, breakdown by type, connected account ID, handle and masked email (use these to confirm which SpriteCook account this connection acts as), subscription tier and stored status, and your concurrent job limit. Expired subscription credits are reported separately and cannot be spent. A paid tier label alone does not mean the subscription is active. Also returns latest_skills_version for user-requested plugin compatibility checks.
get_preset_settings
ChatGPTFetch apply-ready settings for a saved SpriteCook preset. For private draft presets, reference images are returned as owned asset IDs when available. For published presets, reference images are returned as frozen preset media upload URLs. Args: preset_id: Preset UUID or stable slug.
get_ui_kit
ChatGPTGet compact UI-kit status, jobs, concepts, sheets, manifest, and next action.
import_asset
ChatGPTImport local image bytes into SpriteCook as an owned asset. Use this when the user provides a local file, data URL, or raw base64 image that should become a SpriteCook asset before animation, editing, or style/reference reuse. Returns a SpriteCook asset ID and safe asset links that can be passed to animate_game_art, generate_game_art, generate_tileset, or get_asset_metadata. Args: image: Base64-encoded image or data URL to import. pixel: True when the source is pixel art; false for detailed/HD source art. display_name: Optional display name for the imported asset. file_name: Optional original file name for asset labeling. project_id: Optional SpriteCook project ID to assign the imported asset to.
list_active_jobs
ChatGPTList active jobs for the authenticated user.
list_animation_outputs
ChatGPTList recent animation outputs derived from an owned source asset.
list_character_workflows
ChatGPTList guided pixel-art character perspectives and available animations. Returns supported perspectives, default animation ids, source-view/prep requirements, frame counts, and SpriteCook credit estimates.
list_collections
ChatGPTList owned SpriteCook collections, which act like folders for assets. Omit project_id to list all collections, or provide an owned project ID to list only the collections inside that project. Args: project_id: Optional owned project UUID used to filter collections.
list_generation_models
ChatGPTList available still-image generation models and SpriteCook credit costs. Returns the same authenticated model catalog exposed by the public API, including pixel-art support, reference-image limits, quality options, and per-image credit costs. A model with available: false is paused for now; pick another one (service_notice explains while it is set).
list_presets
ChatGPTList the authenticated user's saved SpriteCook presets. Defaults to owned draft and published presets. Use this first when a user asks to use a named preset, then call get_preset_settings with the matching preset ID. Args: query: Optional title/description search text. status: Optional status filter: draft, published, deprecated, or moderation_hidden. mode: Optional mode filter: assets, ui, texture, or tileset. pixel: Optional pixel-art filter. limit: Number of presets to return, 1-100. offset: Pagination offset.
list_projects
ChatGPTList projects owned by the authenticated SpriteCook user. Returns each project's name and ID. Pass an ID as project_id to generate_game_art or another project-aware tool to organize new assets. Args: limit: Maximum projects to return, 1 to 200 (default 50). total and truncated report whether more exist. query: Optional case-insensitive text to match in project names.
list_recent_assets
ChatGPTList recent owned assets so agents can recover lost asset IDs and fetch fresh links.
list_tileset_options
ChatGPTList supported SpriteCook tileset generation options. Returns perspectives, piece sets, tile sizes, elevations, edge modes, output dimensions, and defaults from the same registry used by the public tileset API.
list_ui_kits
ChatGPTList recent UI kits so an agent can recover a kit ID and continue it.
remove_background
ChatGPTRemove the background from an owned SpriteCook asset or inline image. Provide exactly one of asset_id or image. For local files, agents can pass base64 image data or a data URL directly. The tool submits a background-removal job and returns immediately by default. The result appears in list_recent_assets when ready. Use check_job_status(job_id=...) to poll for the owned asset, or pass wait_seconds to wait up to 90 seconds. For an existing cutout with broken outlines or debris, first inspect get_asset_metadata.alpha_editing. Use set_asset_alpha_cutoff when its preserved source can be reused; that edit needs no new removal job. Args: asset_id: Existing SpriteCook asset ID to clean up. image: Base64-encoded still image or animated WebP, optionally as a data URL. runpod_alpha_threshold_enabled: Optional Basic background-removal alpha threshold toggle. runpod_alpha_cutoff: Optional Basic alpha cutoff from 0 to 255. Defaults to 96. wait_seconds: Optional bounded synchronous wait from 0 to 90 seconds. Defaults to 0. outline_repair: Smart outline repair for pixel art (default True): detects whether the sprite has an outline, then restores outline pixels lost during background removal and cleans leftover background at the edges. Leave it on unless the user asks for the raw cutout. Applies to pixel art assets.
report_integration_error
ChatGPTReport a short SpriteCook integration failure for debugging. Use this only for SpriteCook MCP tool failures or SpriteCook HTTP API endpoint failures. Keep the description brief and specific: what failed, where it failed, and the main symptom. Do not include personal information, secrets, tokens, cookies, full payloads, or user content. The only allowed user identifier is the SpriteCook user id.
save_private_preset
ChatGPTSave a private draft SpriteCook preset for the authenticated user. This never publishes or shares a preset. It uses the same settings and media-reference shape as the SpriteCook app's private preset save flow. Args: title: Preset title, 1-120 characters. description: Optional preset description. settings: Generation settings to save. style_references: Optional list of {kind, assetId or uri, displayName}. preview_asset_id: Optional cover asset ID. preview_asset_ids: Optional ordered preview asset IDs, up to the app limit. reference_image: Optional {kind, assetId or uri, displayName} context image. edit_image: Optional {kind, assetId or uri, displayName} edit source image.
select_ui_kit_concept
ChatGPTSelect one owned concept asset as the source for component sheets.
set_asset_alpha_cutoff
ChatGPTSave edge cleanup on an existing owned asset using its preserved source. Inspect get_asset_metadata.alpha_editing first. Download source_url once and compare candidate cutoffs locally using the advertised processing mode. Lower binary-alpha cutoffs can restore faint outline pixels but retain debris. Save the selected cutoff once. Updates this asset in place, preserves the source for later adjustments, and returns fresh metadata and download links. No generation, background-removal provider call, or credit charge occurs. A cutoff of zero makes even zero-alpha pixels opaque in binary-alpha mode. Tilesets may use color tolerance instead; follow alpha_editing.processing. Args: asset_id: Owned asset whose edge cleanup should be updated. cutoff: Integer from 0 to 255, selected after comparing previews.
update_asset_label
ChatGPTRename one of your SpriteCook assets. Updates the user-facing label and derived display/file names for an owned asset, then returns fresh asset metadata with safe download links. Args: asset_id: Existing SpriteCook asset ID to rename. label: New user-facing asset label, 1-255 characters.