Skip to main content
Glama

PixelLab Forge MCP

An MCP server that connects AI assistants to the PixelLab pixel art generation API. Generate sprites, tilesets, characters, animations, and more directly from Claude, Cursor, or any MCP-compatible client.

Generated images are automatically saved to ./pixellab-forge-output/ in your project directory, ready to be moved into your game assets.

Prerequisites

Related MCP server: aseprite-mcp

Setup

No installation needed. npx downloads and runs the package automatically on first use.

Package registry: pixellab-forge-mcp is published to the public npm registry (npmjs.org) — that's what npx/npm install use. It is not distributed via GitHub Packages, so the repo's /pkgs/npm/… page will 404; that's expected.

Claude Code (CLI)

claude mcp add pixellab-forge-mcp -e PIXELLAB_API_KEY=your-api-key-here -- npx pixellab-forge-mcp

This adds it to the current project. To make it available across all your projects:

claude mcp add pixellab-forge-mcp -s user -e PIXELLAB_API_KEY=your-api-key-here -- npx pixellab-forge-mcp

That's it. Claude Code will start the server automatically when you begin a conversation.

Claude Desktop

Add to your config file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "pixellab-forge-mcp": {
      "command": "npx",
      "args": ["pixellab-forge-mcp"],
      "env": {
        "PIXELLAB_API_KEY": "your-api-key-here"
      }
    }
  }
}

Cursor

Add to .cursor/mcp.json:

{
  "mcpServers": {
    "pixellab-forge-mcp": {
      "command": "npx",
      "args": ["pixellab-forge-mcp"],
      "env": {
        "PIXELLAB_API_KEY": "your-api-key-here"
      }
    }
  }
}

Other MCP Clients

Any MCP client that supports stdio transport can use PixelLab Forge. Set the command to npx pixellab-forge-mcp and pass PIXELLAB_API_KEY as an environment variable.

Generated Images

When a tool returns image data, PixelLab Forge automatically saves the images as PNGs to ./pixellab-forge-output/ in whatever directory the MCP server is running from (usually your project root).

Image inputs can be passed by file_path instead of inline base64 — any image argument accepts { "file_path": "pixellab-forge-output/sprite.png" }, which the server resolves from disk before calling the API (saves passing large base64 blobs through the model). Paths are restricted to the output directory and workspace root. The dedicated read_image tool remains available for loading an image explicitly.

Add this to your .gitignore:

pixellab-forge-output/

Available Tools (89)

Generation tools automatically poll for results — no manual job status checking needed. If a job takes longer than 10 minutes or the connection drops, use list_pending_jobs to find the job ID and get_job_status to retrieve the result.

Image Generation

Tool

Description

Key Options

generate_image

Generate pixel art from text

reference_images, style_image, style_options, no_background, seed

generate_with_style

Match style from 1-4 references

style_images, style_description, no_background, seed

generate_ui

Game UI elements (buttons, panels, icons)

concept_image, color_palette, no_background, seed

create_image_pixen

Pixen engine (max area 512×512, dims ÷4)

outline, detail, view, direction, no_background, enhance_prompt, seed

create_image_pixflux

Pixflux engine (32-400px)

text_guidance_scale, init_image, color_image, no_background, isometric, outline/shading/detail, seed

create_image_pixflux_background

Pixflux engine tuned for backgrounds/scenes

Same as create_image_pixflux

create_image_bitforge

Bitforge engine (max 200px)

text_guidance_scale, style_image, inpainting_image, mask_image, color_image, skeleton_keypoints, outline/shading/detail, seed

Characters & Objects

Tool

Description

Key Options

create_character_v3

Character via v3 model (32-256px, newest)

reference_image (rotate exact character) or text-only, view, template_id, outline, detail, enhance_prompt, no_background, seed

create_character_pro

Character/object via Pro engine (32-168px)

method (style/concept/rotate), concept_image, reference_image, style_description, view, template_id, no_background, seed

create_character_4dir

Character with N/S/E/W views

proportions, view, text_guidance_scale, outline/shading/detail, color_image, force_colors, template_id, isometric, seed

create_character_8dir

Character with 8 directional views

Same as 4dir

create_character_state

New state/variant of a saved character

character_id, edit_description, use_color_palette_from_reference, no_background, seed

animate_character

Animate saved character (template only)

template_animation_id (walking, fireball, breathing-idle, etc. — 47 templates), action_description, directions, outline/shading/detail, seed

create_character_animation

Animate saved character (template/v3/pro)

character_id, mode, template_animation_id, action_description, frame_count, directions, seed

create_object_1dir

Object, single direction (32-256px)

size, view (top-down/sidescroller), style_images, item_descriptions

create_object_8dir

Object with 8 directional views (32-256px)

size, view, reference_image (rotate exact) or style_image (new in style)

animate_object

Animate a saved object

object_id, mode (v3/pro), animation_description, directions, frame_count, custom_start_frame, end_frame, enhance_prompt

create_object_state

New state/variant of a saved object

object_id, edit_description, seed

select_object_frames

Keep specific candidate frames as objects

object_id, indices, common_tag

dismiss_object_review

Accept an object as-is (clear review)

object_id

list_characters / list_objects

List with pagination

limit, offset

get_character / get_object

Get details by ID

delete_character / delete_object

Delete by ID

delete_character_animations / delete_object_animations

Delete animations (all, or scoped)

animation_type, animation_group_id, direction

download_character_zip

Export character as ZIP (saved to pixellab-forge-output/, returns file path)

update_character_tags / update_object_tags

Manage tags

set_character_portrait

Attach a bust portrait to a character (free; used by vocal_animation)

character_id, image

Animation

Tool

Description

Key Options

animate_with_text

Animate from text + reference

text_guidance_scale, image_guidance_scale, n_frames, init_images, color_image, seed

animate_with_text_v2

Animate existing image (32-256px)

reference_image, action, view, direction, no_background, seed

animate_with_text_v3

Animate from first/last keyframes

first_frame, last_frame, frame_count, no_background, seed

animate_with_skeleton

Pose control via keypoints

skeleton_keypoints, reference_guidance_scale, pose_guidance_scale, isometric, color_image, seed

edit_animation

Edit animation frames (2-16)

frames, description, no_background, seed

interpolate_frames

Generate in-between frames

start_image, end_image, action, no_background, seed

transfer_outfit

Apply outfit to frames

reference_image, frames, no_background, seed

estimate_skeleton

Extract keypoints from image

image, image_size

Rotation

Tool

Description

Key Options

generate_8_rotations

8 directional views (32-168px)

method (rotate/style/concept), view, style_description, no_background, seed

generate_8_rotations_v3

8 rotations from one frame (v3)

first_frame, no_background, seed

rotate

Rotate between views/directions

from_view/to_view, from_direction/to_direction, view_change, direction_change, image_guidance_scale, isometric, seed

Editing & Inpainting

Tool

Description

Key Options

edit_images

Batch edit 1-16 images

method (text/reference), description, reference_image, no_background, seed

edit_image

Edit single image

image, description, width, height, text_guidance_scale, color_image, no_background, seed

inpaint_v3

Mask-based editing

mask_image, bounding_box, crop_to_mask, no_background, seed

inpaint

Inpainting (legacy, max 200px)

mask_image, text_guidance_scale, outline/shading/detail, isometric, color_image, seed

Image Operations

Tool

Description

Key Options

image_to_pixelart

Convert photo to pixel art

image, output_size

image_to_pixelart_pro

Convert photo to pixel art (Pro, auto-sizes)

image, description, seed

resize_image

AI-powered pixel art resize

reference_image, target_size, color_image

remove_background

Remove background (max 400px)

background_removal_task, text_hint

Tilesets

Tool

Description

Key Options

create_tileset

Top-down tileset (16 or 32px)

lower/upper/transition_description, tile_size, view, text_guidance_scale, tile_strength, tileset_adherence, lower/upper/transition_reference_image, seed

create_tileset_sidescroller

Platformer tileset

lower_description, transition_description, text_guidance_scale, tile_strength, tileset_adherence, base_tile_id, seed

create_isometric_tile

Isometric tile (16-64px)

isometric_tile_shape (block/thick/thin), text_guidance_scale, outline/shading/detail, color_image, seed

create_tiles_pro

Pro tiles (hex, iso, octagon, square)

tile_type, tile_size, tile_view, tile_depth_ratio, style_images, style_options, n_tiles, seed

get_tileset / get_tileset_sidescroller / get_isometric_tile / get_tiles_pro

Retrieve by ID

list_tilesets / list_tilesets_sidescroller / list_isometric_tiles / list_tiles_pro

List with pagination

limit, offset

delete_tileset / delete_tileset_sidescroller / delete_isometric_tile / delete_tiles_pro

Delete by ID

Map Objects

Tool

Description

Key Options

create_map_object

Game-ready object

view, outline/shading/detail, text_guidance_scale, background_image, inpainting, color_image, seed

get_map_object

Status + metadata by ID

object_id

UI Assets & Fonts

Tool

Description

Key Options

create_ui_asset

Persistent shape-based UI panel (distinct from the one-shot generate_ui)

image_size, elements, pieces (shape layout), style_image, color_palette, no_background, name, project_id

get_ui_asset / list_ui_assets / delete_ui_asset

Retrieve, list (paginated), or delete UI assets

ui_asset_id; limit, offset

generate_font_pro

Styled pixel-art font (glyph atlas + .ttf)

description, weight, image_size, glyph_px, font_name

portrait_character_pro

Convert between a bust portrait and a full-body sprite (both directions)

direction, image, view, result_size, seed

Talking Animation

Generate mouth positions once per expression (vocal_animation is the only step that costs generations), then produce unlimited talking GIFs or engine-ready lip-sync plans for free.

Tool

Description

Key Options

vocal_animation

Generate mouth positions ("visemes") for a portrait (costs generations, once per expression)

character_id or inline portrait (max 256×256), mood, viseme_count (3/5/7/12), no_background, seed

get_vocal_animation_job

Poll a vocal_animation job (visemes stream in as produced)

job_id

talking_gif

Text → animated GIF of the character speaking (free)

text, character_id or visemes, mood, frame_ms, hold_ms

lip_sync

Frame-by-frame mouth plan for driving lips in a game engine (free, nothing rendered)

text, character_id or viseme_count, mood, frame_ms, hold_ms

Prompt Enhancement

Expand a short description into a richer prompt. These return enhanced text only — they do not generate images.

Tool

Description

Key Options

enhance_character_prompt

Enrich a prompt for create_character_v3

description, image_size, view, outline, detail

enhance_animation_prompt

Enrich a motion prompt for animate_with_text_v3

first_frame, action, last_frame

enhance_pixen_prompt

Enrich a prompt for create_image_pixen

description, image_size, outline, detail, view, direction, no_background

Account & Jobs

Tool

Description

get_balance

Check your credit balance

get_job_status

Check a background job by ID

get_font_pro_job / get_portrait_character_pro_job

Check a font-pro / portrait↔character job (dedicated endpoints)

list_pending_jobs

List jobs that haven't completed (for recovery after disconnection)

list_job_history

Recent job history (auto-pruned after 24h)

read_image

Load a saved PNG as a Base64 image to pass into other tools

Common Options

Most tools share these parameters, but the field names differ between endpoint generations:

Concept

v2 endpoints

Legacy endpoints

Prompt adherence

n/a

text_guidance_scale (1-20)

Transparent background

no_background

no_background

Color reference

n/a

color_image (reference image)

Style controls

n/a

outline, shading, detail

Negative prompt

n/a

negative_description

Isometric mode

n/a

isometric, oblique_projection

Reproducibility

seed

seed

Character, object, tileset, and map object endpoints also accept text_guidance_scale, outline, shading, detail, and color_image.

Usage

Just describe what you want in plain language. The assistant picks the right tool and parameters automatically.

Quick Examples

Sprites and icons:

"Generate a 64x64 pixel art knight with a blue cape, no background"
"Make a 16x16 health potion icon"
"Create a 128x128 dragon boss with detailed shading and thick outlines"

Characters (persistent, multi-directional):

"Create a 48x48 character with 4 directions: a dwarf blacksmith in a leather apron, chibi proportions"
"Animate that character with the walk template"
"Now add a fireball animation"

Tilesets:

"Create a 32x32 top-down tileset: ocean water below, sandy beach on top, foam transition"
"Make a 16x16 sidescroller tileset with stone platforms"

Editing existing art:

"Edit this sprite to make the armor gold instead of silver"
"Remove the background from this image"
"Generate 8 rotations of this character"

Which Tool Gets Used?

The assistant picks the right tool automatically, but the key decision is:

  • generate_image — default for most requests, highest quality, largest sizes

  • generate_with_style — when you want new art matching existing art ("in the same style as these sprites")

  • generate_ui — for game UI elements (buttons, panels, health bars, icons)

  • create_tileset / create_tiles_pro — for tileable terrain; standard for square RPG tiles, pro for hex/isometric/octagon

  • create_character_4dir / 8dir — for persistent characters you can animate later by ID

Key Concepts

  • Sizes are in pixels as width x height — different tools have different limits (e.g. characters max 128x128, generate_image goes up to 792x688)

  • Transparent backgrounds are the default on most tools — ask for a background explicitly if you want one

  • Characters are persistent — once created, you can animate them by ID without re-describing

  • Seeds make results reproducible — same seed + same description = same output

For detailed size limits, style controls, endpoint comparison, and step-by-step workflows, see the Prompting Guide.

Prompt Commands

PixelLab Forge includes MCP prompt templates that appear as slash commands in supported clients (Claude Desktop, Cursor, etc.):

Command

Description

pf:help

Overview of all tools and how to use them

pf:sprite

Generate a pixel art sprite

pf:character

Create a character with directional views + animation

pf:animate

Animate an existing sprite or character

pf:tileset

Create a top-down or sidescroller tileset

pf:tiles

Create hex, isometric, or octagon tiles

pf:ui

Generate game UI elements

pf:style

Generate art matching existing sprites' style

pf:edit

Edit or modify an existing sprite

Reliability

  • Auto-polling: Generation jobs are polled every 2 seconds for up to 10 minutes

  • Retry on failure: Network errors during polling are retried 3 times with backoff

  • Job recovery: If the connection drops, job IDs are logged to stderr and persisted to disk. Use list_pending_jobs to find them and get_job_status to retrieve results

  • Image saving: Generated images are automatically saved as PNGs to ./pixellab-forge-output/

Testing

npx @modelcontextprotocol/inspector node dist/index.js

Set PIXELLAB_API_KEY in the inspector's environment variables, connect, and test any tool.

Contributing

Contributions are welcome via pull requests.

See CHANGELOG.md for release history. Maintainers: see RELEASING.md for the release process.

License

MIT

Available Tools

89 tools
animate_characterB

Animate a SAVED character by ID using a preset animation template (walk, run, attack, etc). Requires a character_id from create_character_4dir/8dir. Uses the character's existing size. If you only have an image (not a saved character), use animate_with_text_v2 instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
seedNoSeed for deterministic generation (default 0)
detailNoDetail level
outlineNoOutline style
shadingNoShading style
isometricNoGenerate in isometric view
directionsNoSpecific directions to animate, or omit for all
color_imageNoColor reference image
descriptionNoCharacter description for context
character_idYesCharacter ID
force_colorsNoForce use of colors from color_image (default false)
animation_nameNoCustom animation name
action_descriptionNoAction description for custom animations
text_guidance_scaleNoHow closely to follow the text (1.0-20.0, default 8)
template_animation_idYesAnimation template ID

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It reveals that the tool uses the character's existing size and requires a character_id from specific creation tools, but omits behavioral traits such as return value (likely a job ID), async nature, error handling, or authentication requirements. Significant gaps remain.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences long, front-loaded with purpose, and contains no wasted words. It efficiently communicates the core function, prerequisite, and an alternative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having 14 parameters and no output schema, the description fails to explain what the tool returns (likely a job ID) or that it may be asynchronous. It does not address the many optional parameters for customization (e.g., detail, outline, shading). Incomplete for a complex tool with many siblings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with all parameters described. The description adds minimal value by listing example template names (walk, run, attack) but does not elaborate on optional parameters like detail, outline, or directions. Baseline 3 is appropriate as the schema already documents parameters well.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it animates a saved character by ID using a preset animation template, providing a specific verb and resource. It distinguishes itself from animate_with_text_v2 by noting the prerequisite of a saved character, but does not differentiate from other animate siblings like animate_with_skeleton or animate_with_text_v3.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use the tool (saved character with preset template) and when not to (only image → use animate_with_text_v2). This provides clear context and an alternative, though it does not cover all possible alternatives among siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

animate_objectA

Animate a SAVED object by ID. mode='v3' (default, higher quality, supports custom_start_frame/end_frame interpolation) or 'pro'. Do NOT pass directions for 1-direction objects; for 8-direction objects pass the directions to animate. Requires an object_id from create_object_1dir/8dir.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoAnimation mode (default 'v3')
end_frameNoOptional target pose to interpolate toward (v3 mode only)
object_idYesID of the object to animate
directionsNoDirections to animate (8-direction objects only; omit for 1-direction objects)
frame_countNoFrames per direction
display_nameNoOptional name for the animation
enhance_promptNoAuto-expand the description into a richer prompt before generating (default false)
replace_existingNoRegenerate a direction already animated in this animation (default false)
animation_group_idNoFor 8-direction objects: animation_group_id of an existing animation to add directions to
custom_start_frameNoOptional custom starting pose (v3 mode only)
animation_descriptionNoDescribe the animation, e.g. 'walking cheerfully' (required for a new animation, max 1000 chars)

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. Discloses mode defaults and quality difference, interpolation support, and dependency on object creation tools. Lacks details on credit consumption, job polling, or error behavior, but covers essential behavioral traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loads the action, then adds mode and constraint details. No wasted words; every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Description is brief given complexity (11 params, nested objects, no output schema). Doesn't explain result format (likely a job ID) or failure cases. Schema descriptions fill some gaps, but overall completeness is adequate but not thorough.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, baseline 3. The description adds value by explaining mode differences and direction rules beyond schema descriptions (e.g., 'v3 (default, higher quality, supports custom_start_frame/end_frame interpolation)'). This clarifies parameter context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool animates a saved object by ID, specifies modes ('v3' vs 'pro'), and distinguishes from siblings by focusing on objects versus characters or text. The verb 'Animate' and resource 'SAVED object by ID' are specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit guidance: 'Do NOT pass directions for 1-direction objects; for 8-direction objects pass the directions' and 'Requires an object_id from create_object_1dir/8dir'. This helps the agent decide when to use it and prerequisites, but doesn't explicitly compare to sibling animation tools for characters.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

animate_with_skeletonA

Create animation using skeleton keypoints for precise joint/pose control. Fixed sizes only: 16, 32, 64, 128, or 256px. Use this when you need exact body positioning per frame. For simpler text-described animation use animate_with_text_v2.

ParametersJSON Schema
NameRequiredDescriptionDefault
seedNoSeed for deterministic generation (default 0)
viewYesCamera perspective
directionYesCharacter facing direction
isometricNoGenerate in isometric view (default false)
image_sizeYes16x16 to 256x256
color_imageNoColor palette reference image
init_imagesNoInitialization images per frame
mask_imagesNo
guidance_scaleNoHow closely to follow reference image and skeleton keypoints (1.0-20.0, default 4.0)
reference_imageNoCharacter reference
inpainting_imagesNo
oblique_projectionNoUse oblique projection (default false)
skeleton_keypointsYesBody joint positions per frame
init_image_strengthNoInitial image influence strength (0-1000, default 300)

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It mentions fixed sizes and that it creates an animation, but lacks details on destructive potential, authentication, rate limits, or whether it modifies existing data. Does not contradict annotations (none present).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Only three sentences, front-loaded with purpose, no fluff. Efficient and clear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite a high parameter count (14) and nested objects (e.g., skeleton_keypoints), the description does not explain how to structure keypoints, what the output will be, or provide examples. Schema coverage helps, but for a complex tool, more context is needed for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 86%, so baseline is 3. The description adds fixed size constraints (16,32,64,128,256px) which clarifies image_size, but does not explain skeleton_keypoints format or other parameters beyond schema. Minimal added value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states 'Create animation using skeleton keypoints for precise joint/pose control.' and contrasts with 'animate_with_text_v2', making the purpose and differentiation explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'Use this when you need exact body positioning per frame. For simpler text-described animation use animate_with_text_v2.' Provides clear usage context and an alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

animate_with_textA

Legacy animation from text description + reference image. FIXED 64x64 only. Prefer animate_with_text_v2 (any size 32-256px) or animate_with_text_v3 (keyframe-based) for new work. Use animate_character if you already have a saved character ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
seedNoSeed for deterministic generation (default 0)
viewNoCamera angle (default 'side')
actionYesAnimation action (e.g. 'walking', 'attacking')
n_framesNoNumber of frames (default 4)
directionNoFacing direction (default 'east')
image_sizeYesFrame size
color_imageNoColor palette reference image
descriptionYesCharacter description
init_imagesNoInitialization images per frame
mask_imagesNo
reference_imageYesCharacter reference
inpainting_imagesNo
start_frame_indexNoStarting frame index (default 0)
init_image_strengthNoInitial image influence strength (0-1000, default 300)
text_guidance_scaleNoText prompt influence (1.0-20.0, default 7.5)
image_guidance_scaleNoReference image influence (default 1.5)
negative_descriptionNoWhat to avoid in generation

TDQS

A3.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must disclose behavioral traits. It mentions legacy and fixed size but lacks details on side effects, auth needs, rate limits, or return format. Critical gaps remain.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is extremely concise: one sentence on purpose plus two sentences of usage guidance. Every sentence earns its place; front-loaded with key constraint.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite high complexity (17 params, 4 required, nested objects) and no output schema, the description only covers legacy nature and size restriction. Missing workflow, expected input/output, and edge cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 88% (high), so baseline is 3. The description adds no parameter-specific info beyond the schema, nor does it compensate for the uncovered 12%.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool as a legacy animation generator from text and reference image, with a fixed 64x64 size. It distinguishes itself from newer versions (v2, v3) and alternative tools (animate_character).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use alternatives: prefer v2 for any size 32-256, v3 for keyframe-based, and animate_character for saved character IDs. Provides clear guidance for selecting the appropriate tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

animate_with_text_v2A

RECOMMENDED animation tool — animate a character image with a text-described action. Provide a reference image + action text. 32-256px. Frames by size: 32-64px → 16, 128-256px → 4. Use this when you have a character image but NOT a saved character ID. If you have a character ID, use animate_character instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
seedNoSeed for deterministic generation (default 0)
viewNoCamera perspective (default 'none')
actionYesAction to animate (e.g. 'walk', 'cast spell')
directionNoFacing direction (default 'none')
image_sizeYesOutput frame size (32x32 to 256x256)
no_backgroundNoGenerate with transparent background
reference_imageYesCharacter image to animate with dimensions
reference_image_sizeYesCharacter image dimensions

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description bears full burden. It discloses frame count variations by size and default no_background=true, but does not mention side effects (e.g., state changes) or output format. Still adds useful behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, with 'RECOMMENDED' front-loaded. Every word adds unique value—no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers core use case, size constraints, and sibling distinction. Lacks details on return format but is sufficient given 100% schema coverage and typical agent expectations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, baseline 3. Description adds value by explaining frame count relation to image_size and range constraints (32-256px), which supplements the schema details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description explicitly states it animates a character image with text-described action, and distinguishes from animate_character (requires character ID). The verb 'animate' and resource 'character image' are clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Directly advises to use this tool when a character image is available but no character ID, and to use animate_character otherwise. Also provides size-dependent frame counts, aiding decision-making.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

animate_with_text_v3A

Keyframe-based animation — provide a first frame and optional last frame, get interpolated animation. Best for precise start/end control. 4-16 frames, max 256px. Pixel budget: W×H×frames ≤ 524,288. Use animate_with_text_v2 instead if you just want to describe an action.

ParametersJSON Schema
NameRequiredDescriptionDefault
seedNoSeed for deterministic generation (default 0)
actionYesAction description
last_frameNoOptional ending keyframe
first_frameYesStarting frame image
frame_countNoNumber of frames (4-16, default 8, must be even)
no_backgroundNoGenerate with transparent background

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It explains the interpolation between frames, required first_frame, optional last_frame, and constraints like frame count evenness and no_background default. However, it does not describe the output format or behavior if constraints are violated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, highly front-loaded with purpose. Every sentence adds value: first defines the tool, second gives usage guidance and constraints. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, the description covers purpose, key constraints, and usage distinction. Missing output description (e.g., what is returned) but otherwise complete for selecting and invoking correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents all parameters. The description adds contextual meaning by mentioning the first/last frame and constraints, but does not add semantic detail beyond what schema descriptions already provide.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it performs keyframe-based animation with first and optional last frame, producing interpolated results. It distinguishes itself from the sibling animate_with_text_v2, which is for action description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use this tool ('Best for precise start/end control') and when not to ('Use animate_with_text_v2 instead if you just want to describe an action'). Also provides constraints like frame count range, max resolution, and pixel budget.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_character_4dirA

Create a PERSISTENT game character with 4 directional views (N/S/E/W). 32-168px. Returns a character_id that can be reused with animate_character for animations. Use this for game characters that need multiple directions and animations. For 8 directions use create_character_8dir. For one-off sprites without persistence use generate_image.

ParametersJSON Schema
NameRequiredDescriptionDefault
seedNoSeed for deterministic generation (default 0)
viewNoCamera perspective
detailNoDetail level
outlineNoOutline style
shadingNoShading style
isometricNoGenerate in isometric view (default false)
image_sizeYesCharacter sprite dimensions (32x32 to 168x168)
color_imageNoColor reference image
descriptionYesCharacter description
proportionsNoBody proportions - preset (chibi, cartoon, stylized, realistic_male, realistic_female, heroic) or custom with head_size, arm_length, leg_length, shoulder_width, hip_width (0.5-2.0)
template_idNoTemplate ID (e.g. 'mannequin' for humanoid, 'bear'/'cat'/'dog'/'horse'/'lion' for quadruped)
force_colorsNoForce use of colors from color_image (default false)
text_guidance_scaleNoHow closely to follow the text (1.0-20.0, default 8)

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It discloses persistence, return of character_id for later reuse, and directional views. It does not detail side effects, deletion, or rate limits, but the persistence aspect and reuse capability are clearly stated, which is sufficient for a creation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is only 4 sentences, all essential. It is front-loaded with the main action and resource, then quickly provides size, return value, and usage differentiation. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (13 params, no output schema), the description is fairly complete: it covers purpose, usage alternatives, return value, and key constraint (size). It does not explain the output format beyond character_id, but that is sufficient for context. Minor gap: could mention that the character is stored and can be listed/deleted.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the description does not need to restate parameter details. However, it adds no extra context beyond the size range already in the schema. Baseline 3 is appropriate as the description neither harms nor significantly enhances parameter meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool creates a persistent game character with 4 directional views, specifies size range (32-168px), and mentions the return of a character_id for reuse with animate_character. It effectively distinguishes from siblings by naming create_character_8dir for 8 directions and generate_image for one-off sprites.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says 'Use this for game characters that need multiple directions and animations' and provides direct alternatives: 'For 8 directions use create_character_8dir. For one-off sprites without persistence use generate_image.' This gives clear when-to-use and when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_character_8dirA

Create a PERSISTENT game character with 8 directional views (N/NE/E/SE/S/SW/W/NW). 32-168px. Returns a character_id for use with animate_character. Use this for top-down or isometric games needing diagonal directions. For 4-direction games use create_character_4dir.

ParametersJSON Schema
NameRequiredDescriptionDefault
seedNoSeed for deterministic generation (default 0)
viewNoCamera perspective
detailNoDetail level
outlineNoOutline style
shadingNoShading style
isometricNoGenerate in isometric view (default false)
image_sizeYesCharacter sprite dimensions (32x32 to 168x168)
color_imageNoColor reference image
descriptionYesCharacter description
proportionsNoBody proportions - preset (chibi, cartoon, stylized, realistic_male, realistic_female, heroic) or custom with head_size, arm_length, leg_length, shoulder_width, hip_width (0.5-2.0)
template_idNoTemplate ID (e.g. 'mannequin' for humanoid, 'bear'/'cat'/'dog'/'horse'/'lion' for quadruped)
force_colorsNoForce use of colors from color_image (default false)
text_guidance_scaleNoHow closely to follow the text (1.0-20.0, default 8)

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It reveals the tool creates a persistent character and returns a character_id, but lacks details on side effects, authorization, or error states. The description is adequate but not overly transparent; it meets basic requirements but could be improved.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with zero waste. First sentence covers the core purpose and key details. Second sentence adds return value and usage guidance. Information is front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 13 parameters (2 required), nested objects, and no output schema, the description covers the essentials: what the tool does, its primary use case, and distinction from siblings. It does not mention error handling or detailed return behavior, but the schema covers parameters well. Slightly incomplete considering complexity, but adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, baseline is 3. The description adds some value by specifying size range (32-168px) and mentioning 8 directional views (implicit in name). It does not elaborate on other parameters, but since schema fully describes them, this is acceptable.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the purpose: creating a persistent game character with 8 directional views. It specifies size range and directly distinguishes from sibling tool create_character_4dir by mentioning use cases (top-down/isometric games needing diagonal directions) and alternative for 4-direction games.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use this tool vs. the alternative: 'Use this for top-down or isometric games needing diagonal directions. For 4-direction games use create_character_4dir.' Also mentions the returned character_id is for use with animate_character, linking to another tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_character_animationA

Animate a SAVED character by ID with flexible modes. mode='template' uses a skeleton-based template_animation_id; mode='v3' interpolates frames from a custom action_description (4-16 frames); mode='pro' is the pro animator. More flexible than animate_character, which is template-only. Requires a character_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoAnimation mode: 'template' (skeleton from template_animation_id), 'v3' (custom action), 'pro'
seedNoSeed for deterministic generation (default 0)
detailNoDetail level
outlineNoOutline style
shadingNoShading style
isometricNoGenerate in isometric view (default false)
directionsNoDirections to animate (south, north, east, west, etc.), or omit for default
color_imageNoColor palette reference image
descriptionNoCharacter description (uses character's original if omitted)
frame_countNoNumber of frames (4-16, must be even, default 8). v3 mode only
character_idYesID of existing character to animate
force_colorsNoForce use of colors from color_image (default false)
animation_nameNoName for this animation (defaults to action_description)
enhance_promptNoAuto-expand the description into a richer prompt before generating (default false)
action_descriptionNoAction description (required for custom v3/pro animations, e.g. 'walking', 'jumping')
text_guidance_scaleNoHow closely to follow the text (1.0-20.0, default 8)
template_animation_idNoAnimation template ID (required for template mode, e.g. 'walking', 'attack')

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It explains modes and inputs but does not disclose side effects (e.g., whether it modifies the character, creates a new animation, or returns a job ID). More transparency on expected behavior and output is needed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with 4 sentences, front-loading the purpose and modes. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 17 parameters, nested objects, and no output schema, the description is adequate but lacks details on return values, prerequisites (character must be saved), and default behaviors for parameters like frame_count and seed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% coverage, so the description adds marginal value. It provides context for mode and the difference between template and v3, but other parameters are not elaborated beyond schema definitions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool animates a saved character by ID, with flexible modes. It distinguishes itself from the sibling tool animate_character, which is template-only.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly explains when to use each mode (template, v3, pro) and notes that animate_character is an alternative. It also states the requirement for a character_id.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_character_proB

Create a character or object using the Pro engine. Output 32-168px. Methods: create_with_style (text-driven, optional style reference_image), create_from_concept (from a concept_image up to 1024x1024), rotate_character. Returns a character_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
seedNoSeed for deterministic generation (default 0)
viewNoCamera view angle (default 'low top-down')
methodNoHow reference inputs are used (default 'create_with_style')
image_sizeYesOutput frame size (32-168px)
descriptionYesDescription of the character or object to generate
template_idNoBody type for skeleton reconstruction (default 'mannequin')
concept_imageNoConcept image (max 1024x1024) for method=create_from_concept
no_backgroundNoGenerate with transparent background
reference_imageNoStyle reference image (max 168x168) for method=create_with_style
style_descriptionNoFree-text style hint layered on top of the description (max 2000 chars)

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the full burden. It mentions output size constraints and return of a character_id, but fails to disclose any behavioral traits such as destructive potential, authentication needs, or processing characteristics.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences long, front-loads the purpose, and contains no extraneous information. Every sentence contributes to understanding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (10 parameters, no output schema, no annotations), the description is insufficient. It does not explain the behavior of each method, required fields, or default parameter values, leaving significant gaps for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds marginal context (e.g., text-driven with optional style reference), but mostly duplicates schema info. No significant new meaning is added.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool creates a character or object using the 'Pro engine' and lists the methods. However, it does not differentiate from sibling tools like create_character_v3 or animate_character, which reduces clarity among similar tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description briefly mentions three methods (create_with_style, create_from_concept, rotate_character) and their basic context, but does not provide explicit guidance on when to use this tool versus alternatives or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_character_stateA

Create a new state/variant of an existing character by editing it with a text description (e.g. 'wearing armor', 'damaged'). Requires a source character_id. Optionally snap the edit to the source character's color palette for visual consistency.

ParametersJSON Schema
NameRequiredDescriptionDefault
seedNoSeed for deterministic generation (default 0)
character_idYesID of the source character
no_backgroundNoGenerate with transparent background
edit_descriptionYesHow to edit the character to create the new state
use_color_palette_from_referenceNoSnap edited rotations to the source character's existing color palette (default false)

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It discloses creation of new state, source requirement, and optional palette snapping, but does not specify side effects on original character, return value, or other behavioral aspects like rate limits or permissions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with purpose, no wasted words. Efficient and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 5 parameters and no output schema, the description adequately explains core functionality but omits what the tool returns (e.g., an ID or image) and does not mention seed or no_background explicitly in the prose.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. Description adds minimal extra meaning beyond schema descriptions (e.g., edit_description as text description), but does not provide additional context for seed or no_background.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the action 'Create a new state/variant of an existing character' with specific details like using text description and source character_id, distinguishing it from sibling tools like create_character.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear context: requires a source character_id, and optional color palette snapping. Does not explicitly mention when-not-to-use or alternatives, but the purpose is clear enough to guide usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_character_v3A

Create a character using the v3 model. Two modes: provide a south-facing reference_image to rotate that exact character, or omit it to generate from scratch via description. Output 32-256px (advisory in reference mode). Returns a character_id. The newest character generator — prefer over create_character_4dir/8dir for best quality.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoDisplay name (defaults to first 50 chars of description)
seedNoSeed for deterministic generation (default 0)
viewNoCamera view angle (default 'low top-down')
detailNoDetail level hint for from-scratch mode (default 'medium detail')
outlineNoOutline style hint for from-scratch mode (default 'single color black outline')
image_sizeNoOutput frame size, 32-256px (advisory in reference mode)
descriptionYesCharacter description (used as prompt + display name)
template_idNoBody type for skeleton reconstruction (default 'mannequin')
no_backgroundNoGenerate with transparent background
enhance_promptNoAuto-expand the description into a richer prompt before generating (default false)
reference_imageNoSouth-facing reference image; if provided, v3 rotates this exact character

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden. It adequately describes the two operational modes and output constraints (advisory size in reference mode, returns character_id). However, it lacks details on potential side effects, permissions, or processing time, which is a moderate gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise (3 sentences) and well-structured, with the main purpose front-loaded. Every sentence adds value, and there is no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given tool complexity (11 params, nested objects, two modes), the description covers the core behavior and mode distinction. It lacks error handling or authentication details, but for a character creation tool, it is largely complete. A minor gap in mentioning possible issues or return format beyond character_id.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds context beyond the schema by explaining the two modes and that image_size is advisory in reference mode, but does not elaborate on other parameters. This meets the minimum for a well-documented schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool creates a character using the v3 model, identifies two distinct modes (reference image or from scratch), and explicitly distinguishes it from sibling tools create_character_4dir/8dir by recommending v3 for best quality.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides guidance on when to use this tool (prefer over older character generators) and explains the two modes with conditions for each. However, it does not include when-not-to-use scenarios or alternative tools beyond the two mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_image_bitforgeA

Generate pixel art using the legacy Bitforge engine. Max 200x200. Prefer generate_image (v2) for most tasks — use Bitforge only when you need inline skeleton keypoints, combined inpainting+generation, or style_image influence control in a single call.

ParametersJSON Schema
NameRequiredDescriptionDefault
seedNoSeed for deterministic generation (default 0)
viewNoCamera perspective
detailNoDetail level
outlineNoOutline style
shadingNoShading style
directionNoCharacter facing direction
isometricNoGenerate in isometric view (default false)
image_sizeYesMax 200x200
init_imageNoStarting image
mask_imageNoInpainting mask
color_imageNoColor palette reference image
descriptionYesImage description
style_imageNoStyle reference
no_backgroundNoGenerate with transparent background
style_strengthNoStyle image influence (default 0.0)
inpainting_imageNoImage to inpaint on
oblique_projectionNoUse oblique projection (default false)
skeleton_keypointsNoBody joint positions
coverage_percentageNoPercentage of canvas to cover (0-100)
init_image_strengthNoInitial image influence strength (0-1000, default 300)
text_guidance_scaleNoText prompt adherence (1.0-20.0, default 3.0)
extra_guidance_scaleNoAdditional guidance (default 3.0)
negative_descriptionNoWhat to avoid in generation
skeleton_guidance_scaleNoSkeleton keypoint influence (default 1.0)

TDQS

A3.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It only mentions the 200x200 size limit. It does not disclose whether the tool is synchronous or async, what it returns (URL, base64?), any required permissions, error handling, or side effects. Missing critical behavioral context for a complex tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences: first states purpose and constraint, second gives preference, third lists specific use cases. No redundant information, front-loaded with key advice. Highly efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite the detailed schema, the description omits information about return values, required inputs beyond the two mandatory, and how parameters interact. For a tool with 24 parameters and no output schema, more context is needed to ensure correct usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The tool description does not add extra meaning beyond the schema, but the schema itself provides adequate descriptions for each parameter. No additional value from the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states it generates pixel art using the Bitforge engine with a max size constraint, and clearly distinguishes from the preferred v2 tool by listing specific use cases (inline skeleton keypoints, combined inpainting+generation, style_image influence control).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear guidance: prefer generate_image (v2) for most tasks, and only use Bitforge when specific features are needed. This directly helps an agent choose between sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_image_pixenA

Generate pixel art using the Pixen engine. Width/height 16-768px each but max area 512x512, and both must be divisible by 4. Supports outline/detail style hints, view/direction, and optional prompt enhancement. A modern alternative to generate_image with finer outline/detail control.

ParametersJSON Schema
NameRequiredDescriptionDefault
seedNoSeed for deterministic generation (default 0)
viewNoCamera perspective
detailNoDetail level (default 'highly detailed')
outlineNoOutline style
directionNoCharacter facing direction
image_sizeYesWidth/height each 16-768, max area 512x512, both divisible by 4
descriptionYesText description of the image to generate
no_backgroundNoGenerate with transparent background (default false)
enhance_promptNoAuto-expand the description into a richer prompt before generating (default false)
background_removal_taskNoBackground removal complexity (default remove_simple_background)

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must fully disclose behavior. It mentions size constraints and optional style hints, but omits details about the generation process, expected output format, whether it's synchronous or async, and any side effects. Adequate but not comprehensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise at three sentences, front-loading the core purpose and constraints, then enumerating features and alternatives. Every sentence contributes value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite moderate complexity (10 params, nested objects, no output schema), the description does not explain what the tool returns (image URL, job ID, etc.) or mention likely async behavior given sibling tools like get_job_status. This critical gap makes the description incomplete for effective agent invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so each parameter is described in the schema. The description adds context about the engine and mentions some parameters collectively (outline, detail, view, direction, enhance_prompt), but does not provide additional semantic meaning beyond what the schema already offers.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'generate' and resource 'pixel art' using the Pixen engine. It distinguishes itself from sibling 'generate_image' by highlighting finer outline/detail control, making the purpose and differentiation clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides specific constraints (size range, divisibility, max area) and indicates when to use this tool as an alternative to generate_image with finer control. However, it does not explicitly exclude other pixel art tools like create_image_pixflux, nor does it provide guidance on prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_image_pixfluxA

Generate pixel art using the legacy Pixflux engine. 32-400px. Prefer generate_image (v2) for most tasks — use Pixflux only when you need fine-grained control over outline/shading/detail style params, view/direction, or coverage_percentage.

ParametersJSON Schema
NameRequiredDescriptionDefault
seedNoSeed for deterministic generation (default 0)
viewNoCamera perspective
detailNoDetail level
outlineNoOutline style
shadingNoShading style
directionNoCharacter facing direction
isometricNoGenerate in isometric view (default false)
image_sizeYes32x32 to 400x400
init_imageNoStarting image for img2img
color_imageNoColor palette reference image
descriptionYesImage description
no_backgroundNoGenerate with transparent background
coverage_percentageNoPercentage of canvas to cover (0-100)
init_image_strengthNoInitial image influence strength (0-1000, default 300)
text_guidance_scaleNoHow closely to follow text (1.0-20.0, default 8.0)
negative_descriptionNoWhat to avoid in generation

TDQS

A3.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, and the description does not disclose any behavioral traits such as credit consumption, rate limits, or whether it is a write operation. It only mentions it's 'legacy', which is minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no extraneous information. Purpose and usage guidance are front-loaded, making it efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

While the description covers purpose and usage, it lacks details about output (e.g., returns a job ID or image), required parameters, or potential side effects. With no output schema and 16 parameters, more context would be helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds context for a subset of parameters (outline, shading, detail, view, direction, coverage_percentage) but does not explain any parameter beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Generate pixel art using the legacy Pixflux engine' and distinguishes it from the sibling tool 'generate_image' by specifying when to use each.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly advises 'Prefer generate_image (v2) for most tasks — use Pixflux only when you need fine-grained control over outline/shading/detail style params, view/direction, or coverage_percentage.' Provides clear context and alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_image_pixflux_backgroundA

Generate a seamless/background image using the Pixflux engine. Same parameters as create_image_pixflux but tuned for backgrounds and environments rather than isolated sprites.

ParametersJSON Schema
NameRequiredDescriptionDefault
seedNoSeed for deterministic generation (default 0)
viewNoCamera perspective
detailNoDetail level
outlineNoOutline style
shadingNoShading style
directionNoCharacter facing direction
isometricNoGenerate in isometric view (default false)
image_sizeYes32x32 to 400x400
init_imageNoStarting image for img2img
color_imageNoColor palette reference image
descriptionYesBackground/scene description
no_backgroundNoGenerate with transparent background (default false)
coverage_percentageNoPercentage of canvas to cover (0-100)
init_image_strengthNoInitial image influence strength (0-1000, default 300)
text_guidance_scaleNoHow closely to follow text (1.0-20.0, default 8.0)
negative_descriptionNoWhat to avoid in generation

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden for behavioral disclosure. It does not mention whether the tool is read-only or has side effects, required authentication, rate limits, or any constraints beyond generation. The description only states purpose, which is insufficient for full transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences long, with no superfluous words. The first sentence states the core action, and the second provides differentiation. Every sentence adds value, making it highly concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (16 parameters, nested objects, no output schema), the description is minimal. It provides purpose and differentiation but lacks details on return values, error handling, or parameter relationships. While the schema covers parameters, the description could offer more context for effective usage, so it is adequate but not fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already describes all 16 parameters with 100% coverage. The description adds no extra parameter details beyond noting they are the same as 'create_image_pixflux'. Baseline 3 is appropriate as schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states 'Generate a seamless/background image using the Pixflux engine', providing a specific verb and resource. It also distinguishes the tool from its sibling 'create_image_pixflux' by noting it is tuned for backgrounds/environments rather than sprites, making the purpose clear and differentiated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies this tool should be used for background/environment generation versus the sibling for sprites, but it does not explicitly state when not to use it or list alternatives beyond the one sibling. The guidance is present but lacks explicit exclusions or deeper context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_isometric_tileA

Create an isometric tile. Size 16x16 to 64x64 (best quality >24px). For other tile types (hex, octagon, square_topdown) use create_tiles_pro instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
seedNoSeed for deterministic generation (default 0)
detailNoDetail level
outlineNoOutline style
shadingNoShading style
image_sizeYes16x16 to 64x64
init_imageNoOptional starting image
color_imageNoColor palette reference image
descriptionYesTile description
init_image_strengthNoInitial image influence strength (1-999, default 300)
isometric_tile_sizeNoIsometric tile size in pixels (default 16)
text_guidance_scaleNoHow closely to follow text (1-20, default 8)
isometric_tile_shapeNoShape of the isometric tile (default 'block')

TDQS

A3.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden for behavioral traits. It mentions size constraints and quality advice ('best quality >24px') but does not disclose authorization needs, rate limits, storage behavior, or output format. Minimal transparency for a creation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, directly stated with no redundancy. Front-loaded with purpose and size constraints, then exclusion of other tile types. Highly concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 12 parameters, nested objects, and no output schema, the description is too brief. It does not explain what the tool returns (e.g., tile ID or URL), how to retrieve or use the output, or how this tool relates to get_isometric_tile/list_isometric_tiles. Incomplete for a complex creation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline 3. The description adds the size range (16x16 to 64x64) which aligns with image_size, but does not explain other parameters beyond what schema already provides. No significant additional meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Create an isometric tile' and explicitly distinguishes from the sibling tool create_tiles_pro for other tile types (hex, octagon, square_topdown). This makes the tool's purpose unambiguous and well-differentiated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly directs the agent to use create_tiles_pro for hex, octagon, or square_topdown tiles, providing clear when-to-use and when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_map_objectA

Generate a single-view map object (tree, rock, chest, etc.) with transparent background. Use this for environment/prop assets that don't need multiple directions. For objects with 4 directional views use create_object_4dir. For characters use create_character_4dir/8dir.

ParametersJSON Schema
NameRequiredDescriptionDefault
seedNoSeed for deterministic generation (default 0)
viewNoCamera perspective
detailNoDetail level
outlineNoOutline style
shadingNoShading style
image_sizeYesOutput dimensions
init_imageNoOptional starting image
inpaintingNoInpainting configuration (JSON string or object)
color_imageNoColor palette reference image
descriptionYesObject description
background_imageNoBackground image for context
init_image_strengthNoInitial image influence strength (1-999, default 300)
text_guidance_scaleNoHow closely to follow text (1-20, default 8)

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses that the output has a transparent background and is a single-view generation, but does not mention required permissions, rate limits, or failure modes. The description adds some behavioral context but is not comprehensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, using two sentences and a brief clarification. Every sentence is essential, and the main purpose is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has 13 parameters (2 required), nested objects, and no output schema. The description fails to explain return values, parameter behaviors, or defaults. It is too minimal for a complex tool, leaving agents without guidance on how to configure the generation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers 100% of parameters with descriptions, so the description need not add much. It does not elaborate on parameter meanings beyond what the schema already provides, so a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool generates a single-view map object with transparent background, and explicitly distinguishes from sibling tools like create_object_4dir and create_character_4dir/8dir, specifying when to use each.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance on when to use this tool (for environment/prop assets that don't need multiple directions) and when not to (for objects with 4 directional views or characters), with alternative tool names.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_object_1dirA

Create a persistent single-direction object. Square size 32-256px (default 64). view 'top-down' or 'sidescroller'. Optionally pass style_images for visual reference. Larger sizes may yield multiple objects (use item_descriptions to label each). For an object rotatable to 8 directions use create_object_8dir. For single-view non-persistent props use create_map_object.

ParametersJSON Schema
NameRequiredDescriptionDefault
sizeNoSquare image size in pixels (32-256, default 64)
viewNoView (default 'top-down')
descriptionYesObject description
style_imagesNoStyle reference images (PNG/JPEG base64, max 256x256 each)
item_descriptionsNoPer-object descriptions when the size produces multiple objects

TDQS

A4.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. Clearly indicates creation, persistence, single-direction, and the effect of size on multiplicity. Lacks explicit mention of return values or error handling, but sufficient for a creation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Concise, front-loaded with purpose, followed by parameter details and sibling comparisons. Every sentence adds value with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 5 parameters (1 required), no output schema, and no annotations, the description thoroughly covers tool purpose, parameter intricacies, and usage context with sibling tools. Complete enough for effective selection and invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Adds meaningful context beyond schema: size range and default, view enum values, optional style_images, and the warning about multiple objects with item_descriptions. Schema already covers all parameters, but description clarifies behavior.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description explicitly states verb 'Create' and resource 'persistent single-direction object', and distinguishes from siblings 'create_object_8dir' and 'create_map_object'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides alternatives: 'For an object rotatable to 8 directions use create_object_8dir. For single-view non-persistent props use create_map_object.' Also gives defaults and conditions like size range and view options.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_object_8dirA

Create a persistent object with 8 directional views. Square size 32-256px (default 64). view 'low top-down', 'high top-down', or 'side'. Provide reference_image to rotate that exact object, OR style_image to generate a new object in that style (mutually exclusive). For a single-direction object use create_object_1dir.

ParametersJSON Schema
NameRequiredDescriptionDefault
sizeNoSquare image size in pixels (32-256, default 64)
viewNoCamera angle (default 'low top-down')
descriptionYesObject description
style_imageNoStyle reference — generates a new object matching the description in this style (mutually exclusive with reference_image)
reference_imageNoReference image — generates 8 rotations of this exact object (mutually exclusive with style_image)

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. Discloses persistence, size constraints, view options, and mutual exclusivity. Minor missing detail on number of generated images (8 views) but name implies it.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with main purpose, then details. No redundant words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, but description covers inputs well. Could explicitly mention that 8 views are generated, but name and context imply it. Adequate given sibling tools and complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, baseline 3. Description adds value by explaining mutual exclusivity, default values, and square size constraint beyond schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it creates a persistent object with 8 directional views. Explains size range, view options, and mutual exclusivity of image inputs. Distinguishes from sibling create_object_1dir.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly tells when to use (for 8-directional objects) and when not to (use create_object_1dir for single direction). Also explains when to use reference_image vs style_image.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_object_stateB

Create a new state/variant of an existing object by editing it with a text description (e.g. 'open chest', 'broken'). Requires a source object_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
seedNoSeed for deterministic generation (default 0)
object_idYesID of the source object
edit_descriptionYesHow to edit the object to create the new state

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It says 'edit it with a text description' but does not clarify whether the original object is modified, what side effects occur, or what permissions are needed. The creation of a new state could imply mutation, which is not disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with an inline example, achieving conciseness. However, it could be slightly more structured (e.g., separating the example) without losing efficiency.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description does not explain the return value or output format, which is critical since there is no output schema. It also omits constraints like whether the source object must exist or what types of objects are valid. For a tool with three parameters, this lack of detail leaves significant gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, providing descriptions for all parameters. The tool description adds value by giving concrete examples ('open chest', 'broken') for the 'edit_description' parameter, clarifying the expected input format beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'create', the resource 'state/variant of an existing object', and the method 'by editing it with a text description'. It distinguishes from sibling tools like 'create_character_state' by specifying 'object'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions a prerequisite ('Requires a source object_id') but provides no guidance on when to use this tool versus alternatives such as 'create_object_1dir' or 'animate_object'. It does not explain scenarios or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_tilesetA

Create a TOP-DOWN tileset with base terrain, elevated terrain, and transitions (16x16 or 32x32 tiles). Outputs 16-23 seamless tiles. Use this for RPG/strategy maps. For platformer/sidescroller games use create_tileset_sidescroller. For isometric games use create_isometric_tile or create_tiles_pro.

ParametersJSON Schema
NameRequiredDescriptionDefault
seedNoSeed for deterministic generation (default 0)
viewNoCamera perspective (default 'high top-down')
detailNoDetail level
outlineNoOutline style
shadingNoShading style
tile_sizeYes16x16 or 32x32
color_imageNoColor palette reference image
tile_strengthNoTile pattern strength (0.1-2, default 1)
transition_sizeNoElevation difference 0.25-1.0 (default 0.5)
lower_descriptionYesBase terrain (e.g. 'deep blue ocean water')
tileset_adherenceNoAdherence to tileset patterns (0-500, default 100)
upper_descriptionYesElevated terrain (e.g. 'golden sandy beach')
lower_base_tile_idNoID of existing lower base tile to use
upper_base_tile_idNoID of existing upper base tile to use
text_guidance_scaleNoHow closely to follow text (1-20, default 8)
lower_reference_imageNoReference image for lower terrain style
upper_reference_imageNoReference image for upper terrain style
transition_descriptionNoTransition terrain (e.g. 'wet sand with foam')
tileset_adherence_freedomNoFreedom from tileset constraints (0-900, default 500)
transition_reference_imageNoReference image for transition style

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description bears full responsibility for behavioral disclosure. It reveals that the tool creates a tileset with specified terrain types and outputs seamless tiles (16-23). It does not mention potential side effects like overwriting existing tilesets or required permissions, but the creation nature and output count are clearly communicated. Slightly lacking in deeper behavioral context but still good.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences that efficiently convey purpose, output, and usage alternatives. Front-loaded with the core action, then context and sibling differentiation. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (20 parameters, 3 required) and lack of output schema, the description provides essential high-level context but does not explain parameter interactions or detailed behavior. However, the schema is comprehensive, and the description covers the key differentiators. Just shy of complete for a complex creative tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, meaning the schema already describes all 20 parameters. The description only reiterates tile_size options (16x16 or 32x32) and provides examples for lower_description and upper_description, which are already in the schema. No new parameter meaning is added, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states the tool creates a top-down tileset with base terrain, elevated terrain, and transitions, specifying tile sizes 16x16 or 32x32 and output of 16-23 seamless tiles. It distinguishes from siblings by directing users to create_tileset_sidescroller for platformers and create_isometric_tile or create_tiles_pro for isometric, showing clear resource and verb specificity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly tells when to use this tool: 'Use this for RPG/strategy maps.' It also explicitly states alternatives for different game styles: 'For platformer/sidescroller games use create_tileset_sidescroller. For isometric games use create_isometric_tile or create_tiles_pro.' This provides comprehensive usage guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_tileset_sidescrollerA

Create a SIDESCROLLER/PLATFORMER tileset with terrain and transitions (16x16 or 32x32 tiles). Side-view perspective only. Use this for platformer games. For top-down RPG maps use create_tileset instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
seedNoSeed for deterministic generation (default 0)
detailNoDetail level
outlineNoOutline style
shadingNoShading style
tile_sizeYesTile dimensions (16x16 or 32x32)
color_imageNoColor palette reference image
tile_strengthNoTile pattern strength (0.1-2, default 1)
transition_sizeNo0.25-1.0 (default 0.5)
lower_descriptionYesBase terrain description
tileset_adherenceNoAdherence to tileset patterns (0-500, default 100)
lower_base_tile_idNoID of existing lower base tile to use
text_guidance_scaleNoHow closely to follow text (1-20, default 8)
lower_reference_imageNoReference image for lower terrain style
transition_descriptionNoTransition description
tileset_adherence_freedomNoFreedom from tileset constraints (0-900, default 500)
transition_reference_imageNoReference image for transition style

TDQS

A3.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It only states what the tool creates, not behavioral aspects like idempotency, permissions, rate limits, or side effects. Lacks disclosure of any destructive or mutational traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences that front-load essential purpose and usage distinction. No redundant information; every word serves a purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite 16 parameters and no output schema, description is very brief. It covers purpose and usage well but does not explain return value, parameter relationships, or process. Schema coverage helps, but more context would be beneficial for a complex tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers 100% of parameters with descriptions, so baseline is 3. Description adds no additional meaning beyond the schema; it only reiterates tile sizes already defined in schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the tool creates a sidescroller/platformer tileset with terrain and transitions, specifies tile sizes (16x16 or 32x32) and perspective (side-view only). Explicitly distinguishes from sibling create_tileset for top-down RPG maps.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit when-to-use (platformer games, side-view) and when-not-to-use (top-down RPG maps, use create_tileset). Also states tile size constraints, giving clear context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_tiles_proA

Create professional tiles. Types: hex, hex_pointy, isometric, octagon, square_topdown. Size 16-128px (32px recommended).

ParametersJSON Schema
NameRequiredDescriptionDefault
seedNoSeed for deterministic generation (default 0)
n_tilesYesNumber of tiles to generate
tile_sizeYesTile size in pixels (16-128, default 32)
tile_typeYesType of tile
tile_viewNoCamera perspective for tiles
descriptionYesTile description
tile_heightNoTile height in pixels (16-128)
style_imagesNoStyle reference images (JSON string)
style_optionsNoStyle options (JSON string)
tile_view_angleNoView angle in degrees (0-90)
tile_depth_ratioNoDepth ratio (0-1)

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without any annotations, the description carries the full burden of behavioral disclosure. It only mentions the tile types and size range, but fails to indicate side effects, permission requirements, resource consumption, or how optional parameters like style_images affect behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise—only two sentences—yet conveys essential information (tile types, size range, recommendation) without any redundant or extraneous content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the 11 parameters and no output schema, the description covers the core purpose and common options but omits context for advanced parameters (e.g., tile_view, style_images, tile_height). It is adequate but not thorough for a tool with many optional inputs.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for all 11 parameters. The description adds value by recommending a tile size of 32px and explicitly listing the tile types, providing guidance beyond the schema's enum and default values.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool creates 'professional tiles' and lists the five supported tile types (hex, hex_pointy, isometric, octagon, square_topdown), which distinguishes it from sibling tools like create_isometric_tile or create_tileset that focus on specific tile types or collections.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool by listing the tile types it supports, but does not explicitly contrast with alternatives or provide when/when-not guidance. It lacks direction on choosing this over other tile creation tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_ui_assetA

Generate a shape-based pixel-art UI panel (Pro) from a text description — a persistent, saved UI asset (distinct from generate_ui, which is a one-shot generator). Returns a job_id and a ui_asset_id immediately; poll get_job_status or get_ui_asset until ready. Optionally scaffold the panel from named UI elements or a custom shape template.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoFriendly name for the saved asset
seedNoSeed for deterministic generation (default 0)
piecesNoOptional custom shape template. Each piece needs a unique id, a kind, and an optional label. Coords are on a virtual canvas where the longer side spans 0–512 and the shorter side scales to the output aspect ratio. kinds: rounded_rect {x,y,w,h,radius}, circle {x,y,r}, polygon {x,y,r,sides,phase}.
elementsNoOptional named UI element types to scaffold the panel from (auto-positioned, no coords needed). Combine with pieces for custom shapes; omit both for a default full-canvas panel.
image_sizeNoOutput size in pixels, 192–688 per axis (max per axis depends on aspect; default 256×256)
project_idNoIf set, assign the finished asset to this project
descriptionYesStyle description for the UI panel (e.g. 'wooden RPG panel with gold trim')
style_imageNoOptional style reference image (PNG/JPEG)
color_paletteNoOptional palette specification (e.g. 'brown and gold')
no_backgroundNoGenerate with transparent background

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It correctly discloses the async behavior (returns IDs immediately, poll status) and notes it's a 'Pro' feature. However, it lacks details on error handling, rate limits, or authorization.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences convey purpose, distinction, return flow, and customization. No wasted words. Front-loaded with the core purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 10 params, no output schema, and nested objects, the description covers workflow (generate, poll), distinction from generate_ui, and optional scaffolding. Missing error handling details but adequate for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds high-level context for key parameters (description, elements, pieces) but doesn't elaborate on all 10 params. It meets the baseline by not repeating schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states it generates a persistent, saved UI asset from a text description, using specific verbs and resources. It clearly distinguishes from generate_ui (one-shot generator).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description directly compares with generate_ui, indicating when to use this tool for persistent assets. It also outlines the polling workflow, providing context for usage. No explicit exclusions, but clear guidance overall.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_characterC

Delete a character by ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
character_idYesCharacter ID

TDQS

C2.9/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavioral traits. It only states 'Delete' without mentioning side effects, idempotency, or error behavior. This is inadequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence with no wasted words. However, it lacks necessary detail, making it less useful than it could be.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple deletion tool with one parameter and no output schema, the description fails to explain success/error outcomes, any restrictions, or additional context needed for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds no semantic value beyond what the schema already provides ('Character ID').

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Delete'), the resource ('a character'), and the method ('by ID'). It effectively distinguishes from siblings like list_characters or get_character.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives, prerequisites (e.g., character must exist), or consequences of deleting a non-existent character.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_character_animationsA

Delete animations from a character. Omit all optional filters to delete every animation; pass animation_type and/or animation_group_id (both shown by get_character) to narrow it, and direction to remove a single direction only.

ParametersJSON Schema
NameRequiredDescriptionDefault
directionNoSingle direction to delete (e.g. 'south'). Omit for all directions
character_idYesCharacter ID
animation_typeNoAnimation type shown by get_character (e.g. 'walk', 'idle')
animation_group_idNoAnimation group UUID shown by get_character as [group: ...]

TDQS

A4.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description bears full burden. It discloses that omitting all filters deletes every animation on the character, which is important destructive behavior. It explains the effect of each filter, but could mention if deletion is irreversible.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences: first states purpose, second explains usage variants. No unnecessary words, front-loaded with key action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 4 params (1 required) and no output schema, the description comprehensively covers behavior for all usage scenarios (delete all vs. selective with filters). No ambiguity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but description adds value by explaining how parameters interact (omitting all deletes all, using filters narrows) and referencing get_character as the source for animation_type and animation_group_id.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (Delete) and resource (animations from a character). It differentiates from siblings like delete_character or delete_object_animations by detailing how to narrow deletion using specific filters.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly explains when to delete all animations (omit optional filters) versus selectively delete by animation_type, animation_group_id, or direction. Provides clear guidance on how to narrow the operation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_isometric_tileB

Delete an isometric tile by ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
tile_idYesIsometric tile ID

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description indicates deletion (destructive action) but lacks details on irreversibility, cascading effects, required permissions, or error handling. Without annotations, the description carries full burden and falls short.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence that directly states the action and resource. There is no redundant information, making it highly concise and efficiently front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple input schema (1 parameter, no output schema), the description is minimally adequate, but lacks usage context and behavioral details that would help an agent choose correctly among numerous deletion sibling tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter 'tile_id' has a schema description 'Isometric tile ID', which covers the parameter's purpose. The tool description adds no new information beyond what the schema already provides, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (delete) and the resource (isometric tile) along with the method (by ID). It effectively distinguishes from siblings like 'delete_tiles_pro' which likely operates on different tile types or in bulk.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as 'delete_tiles_pro'. There is no mention of prerequisites, side effects, or typical use cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_objectC

Delete an object by ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
object_idYesObject ID

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, placing full burden on description. The description does not disclose any behavioral traits such as whether deletion is permanent, requires authorization, or has side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with a single sentence. However, this conciseness comes at the cost of missing critical details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a deletion tool with no output schema and simple parameters, the description should at least mention irreversibility or permissions. It is incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, but the description adds no value beyond what is already in the schema. The parameter 'object_id' is simply restated as 'Object ID'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Delete an object by ID' clearly states the verb and resource, but does not differentiate from sibling tools like 'delete_tiles_pro' or 'delete_ui_asset'. It lacks specificity about which type of 'object' is being deleted.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. The description provides no context about when deletion is appropriate or any prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_object_animationsA

Delete animations from an object. Omit all optional filters to delete every animation; pass animation_type and/or animation_group_id (both shown by get_object) to narrow it, and direction to remove a single direction only.

ParametersJSON Schema
NameRequiredDescriptionDefault
directionNoSingle direction to delete (e.g. 'south'). Omit for all directions
object_idYesObject ID
animation_typeNoAnimation type shown by get_object (e.g. 'walk', 'idle')
animation_group_idNoAnimation group UUID shown by get_object as [group: ...]

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so description carries full burden. It describes deletion behavior with filtering but does not disclose whether it's destructive, reversible, or requires permissions. The deletion nature is implied but not detailed beyond the action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded, no filler. Every word serves a purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 4 params (1 required) and no output schema, the description sufficiently covers all parameters and usage patterns, leaving no ambiguity for an AI agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, baseline 3. Description adds value by explaining how filters work together and references get_object for obtaining values, which is not in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Delete animations from an object' with a specific verb and resource. It distinguishes from sibling tools like delete_character_animations and delete_object.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit guidance on when to use each optional filter: 'Omit all optional filters to delete every animation; pass animation_type and/or animation_group_id to narrow it, and direction to remove a single direction only.' Does not state when not to use, but context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_tilesetA

Delete a top-down tileset by ID. For sidescroller tilesets use delete_tileset_sidescroller.

ParametersJSON Schema
NameRequiredDescriptionDefault
tileset_idYesTileset ID

TDQS

A3.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description must fully disclose behavior. It states 'Delete', implying destructive action, but fails to mention whether the deletion is permanent, reversible, or if it cascades to associated data like tiles.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with two sentences: the first states the core action, the second provides the sibling alternative. No redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple delete tool with one parameter and no output schema, the description provides the essential purpose and sibling differentiation. Lacks behavioral details but adequate for a straightforward operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% (tileset_id described as 'Tileset ID'). The description adds no additional meaning beyond the schema, as it merely reiterates 'by ID'. Baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly specifies the action 'Delete', the resource 'top-down tileset', and the identifier 'by ID'. It distinguishes this tool from its sibling 'delete_tileset_sidescroller' by indicating top-down vs sidescroller.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly directs users to use 'delete_tileset_sidescroller' for sidescroller tilesets, providing clear guidance on when to avoid this tool. However, it does not elaborate on prerequisites or other exclusion criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_tileset_sidescrollerA

Delete a sidescroller tileset by ID. For top-down tilesets use delete_tileset.

ParametersJSON Schema
NameRequiredDescriptionDefault
tileset_idYesSidescroller tileset ID

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It only states the destructive action without disclosing additional behaviors like reversibility, permissions, or side effects. The statement is accurate but lacks depth.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no fluff. The first sentence states the core action, and the second provides a useful alternative for a related tool. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one required parameter and no output schema, the description is complete enough. It explains the tool's purpose and usage context. No elaboration on return values is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents the parameter. The description mentions 'by ID' but adds no semantic value beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (delete), resource (sidescroller tileset), and method (by ID). It also distinguishes from the sibling tool delete_tileset for top-down tilesets.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly tells when to use this tool (for sidescroller tilesets) and when not to (for top-down tilesets, use delete_tileset), providing direct guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_tiles_proB

Delete a pro tile by ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
tile_idYesTiles pro ID

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits. It only states the basic action without mentioning irreversibility, permissions, or side effects. For a delete operation, more transparency is expected.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise (5 words) with no fluff. It is appropriately short for a simple delete operation, though it could be slightly more informative without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one required param, no output schema), the description is barely adequate. It fails to mention that deletion is likely irreversible or any prerequisites, which are important for a destructive action.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% (the sole parameter tile_id is described). The description adds no additional meaning beyond what the schema already provides, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Delete' and the resource 'pro tile' with the identifier 'by ID'. It distinguishes from sibling tools like delete_tileset and delete_isometric_tile which operate on different resources.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, no context on prerequisites or conditions, and no exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_ui_assetA

Permanently delete a UI panel and its backing image files.

ParametersJSON Schema
NameRequiredDescriptionDefault
ui_asset_idYesUI asset ID

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Since no annotations exist, the description carries the full burden. It reveals that the action is permanent and affects both the UI panel and backing image files. However, no details about permissions, reversibility, or side effects are provided.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that delivers the key information without extra words. It is front-loaded and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter and no output schema, the description covers the essential behavior: deletion of the panel and its backing images. It is sufficiently complete for an AI agent to understand the tool's effect.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single parameter 'ui_asset_id'. The tool description does not add any additional meaning beyond what is in the schema, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'delete' and the resource 'UI panel and its backing image files'. It specifies the permanent nature and distinguishes from other delete tools that might not affect backing files.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like delete_tiles_pro or delete_character_animations. The description does not mention prerequisites or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dismiss_object_reviewB

Dismiss the review state on an object, accepting it as-is without selecting specific frames. Takes no body beyond the object_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
object_idYesID of the object to dismiss review for

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavioral traits. It states the tool dismisses review state and accepts as-is, but omits important details such as whether the action is destructive, if it requires special permissions, or any side effects. For a state-changing mutation, this is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, very concise and front-loaded. Every word serves a purpose. However, the description could have been slightly more informative without becoming verbose, e.g., clarifying the outcome or permissions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter, no output schema, no annotations), the description covers the basic action but lacks completeness in behavioral context. It does not explain what happens after dismissal or whether it can be reverted, which is important for an agent to use it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (one parameter with a description). The description adds 'Takes no body beyond the object_id', which restates the schema's implication that only object_id is needed. This adds minimal additional meaning beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states the verb 'dismiss' and the resource 'review state on an object', clearly differentiating from sibling tools like select_object_frames. It specifies the action 'accepting it as-is without selecting specific frames', which is unique among object-related tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use (when dismissing review without selecting frames) but provides no explicit guidance on when not to use or alternatives. Among siblings, select_object_frames is a related alternative, but this is not mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

download_character_zipA

Download a character as a ZIP file with all sprites and metadata. Saves it to the pixellab-forge-output directory and returns the file path.

ParametersJSON Schema
NameRequiredDescriptionDefault
character_idYesCharacter ID

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It discloses a side effect: 'Saves it to the pixellab-forge-output directory and returns the file path.' However, it does not mention potential overwrites, idempotency, or permission requirements. The download action implies a read operation, but no destructive hint is given.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the key action, and contains no extraneous information. Every word contributes to understanding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter and no output schema, the description covers the main function, side effect, and return value. It could mention error cases (e.g., if character_id does not exist) but is otherwise complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (one parameter). The description does not add meaning beyond the schema's 'Character ID' description. No format, origin, or context is provided for the ID, which is adequate but not enhanced.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Download a character as a ZIP file with all sprites and metadata' with a specific verb ('download') and resource ('character as a ZIP'). It distinguishes from sibling tools like list_characters (listing) and get_character (retrieving data, not a zip). The action and result are clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like get_character or delete_character. It does not specify prerequisites (e.g., the character must already exist) or exclude scenarios where this tool would be inappropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

edit_animationA

Edit an existing animation sequence (2-16 frames) using a text description. 16-256px. Use this to modify animations you already have — to create new animations from scratch use animate_with_text_v2 or animate_character.

ParametersJSON Schema
NameRequiredDescriptionDefault
seedNoSeed for deterministic generation (default 0)
framesYesAnimation frames (2-16)
image_sizeYesFrame dimensions (16-256px)
descriptionYesEdit description
no_backgroundNoGenerate with transparent background

TDQS

A3.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It does not disclose whether the edit replaces the original animation or creates a new one, any required permissions, idempotency, or side effects. The lack of behavioral context is a significant gap for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences convey purpose, constraints, and usage guidelines with zero redundancy. Information is front-loaded and each sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of an edit tool with nested parameters and no output schema, the description is too brief. It omits details about return values, prerequisites (e.g., needing an animation ID from another tool), and how the edit process works (e.g., overwrites existing frames).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so parameters are already well-documented. The description adds only minor reinforcement of frame count and size ranges. No additional semantic value beyond the schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states 'Edit an existing animation sequence' with specific constraints (2-16 frames, 16-256px). It clearly distinguishes from sibling creation tools by naming alternatives (animate_with_text_v2, animate_character).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit when-to-use ('modify animations you already have') and when-not-to-use ('to create new animations from scratch use...') guidance, directly naming the appropriate sibling tools as alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

edit_imageA

Edit a single image globally using a text description (e.g. 'add a hat', 'change colors'). 16-400px. For editing a specific REGION use inpaint_v3 with a mask instead. For batch-editing multiple images at once use edit_images.

ParametersJSON Schema
NameRequiredDescriptionDefault
seedNoSeed for deterministic generation (default 0)
imageYesImage to edit
widthYesTarget canvas width (16-400px)
heightYesTarget canvas height (16-400px)
image_sizeYesCurrent image dimensions
color_imageNoColor reference image
descriptionYesEdit description
no_backgroundNoGenerate with transparent background
text_guidance_scaleNoHow closely to follow text (1.0-10.0, default 8)

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It mentions global edit and size constraints but does not describe return value, potential side effects, or authentication needs. Lacks detail for a mutation tool with no annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, zero waste. Purpose and alternatives are front-loaded. All text adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exits, so description should explain return value, but it doesn't. Also lacks description of color_image parameter's role. Incomplete for a tool with 9 params and nested objects.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. Description adds minimal value beyond schema—just an example and size range. Does not compensate for missing param context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool edits a single image globally using a text description, provides examples, and distinguishes it from sibling tools like inpaint_v3 and edit_images.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says when to use alternatives: inpaint_v3 for region edits and edit_images for batch edits, making guidance very clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

edit_imagesA

Batch-edit 1-16 images consistently using text or a reference image. Use this for editing animation frames or sprite sets uniformly. Output 32-512px, input max 256px each. Max frames by output size: 32-64px → 16, 65-80px → 9, 81-128px → 4, 129-512px → 1. For single image edits use edit_image instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
seedNoSeed for deterministic generation (default 0)
methodYes
image_sizeYesOutput size 32x32 to 512x512
descriptionNoEdit description (for edit_with_text)
edit_imagesYes1-16 images to edit with dimensions
no_backgroundNoGenerate with transparent background
reference_imageNoStyle reference with dimensions (for edit_with_reference)

TDQS

A4.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided; description shares important constraints (input max 256px, output 32-512px, frame limits by output size) but does not disclose return format, mutability, or whether results are returned directly or as jobs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two focused sentences plus a concise constraint table and sibling directive. No wasted words; critical information front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, description covers constraints and use-case well, but omits what the tool returns (e.g., edited images or job IDs). Still sufficient for selection and basic invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage high (86%); description adds value by specifying batch range (1-16) and output-size constraints, and explains method enum choices. Still, some parameters like seed lack elaboration beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states batch-editing 1-16 images consistently, with text or reference image, for animation frames or sprite sets. Specifically distinguishes from sibling 'edit_image' tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use this tool (for uniform edits on multiple images) and when to use alternative (single image edits use edit_image instead).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

enhance_animation_promptA

Expand a short action description into a richer motion prompt for animate_with_text_v3. Provide the first frame (and optional last frame for interpolation). Returns enhanced text — does not generate frames.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesAction description to enhance (e.g. 'walking', 'sword swing')
last_frameNoOptional end frame; when provided the prompt describes the interpolated motion
first_frameYesStarting frame image

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It discloses that it does not generate frames, only returns text. Lacks details on side effects or permissions, but reasonable for a text transformation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences that front-load the core purpose, include key details, and avoid redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, and description only says 'Returns enhanced text' without specifying format or type. For a tool with nested object parameters, the return value is underspecified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with detailed parameter descriptions. The description adds context that last_frame is for interpolation, but doesn't provide additional meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it expands a short action into a richer motion prompt for animate_with_text_v3, with specific inputs (first frame, optional last frame) and output (enhanced text, not frames). It distinguishes itself from frame generation tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly indicates it is a helper for animate_with_text_v3, implying usage before that tool. Does not mention alternatives or when-not-to-use, but context is clear from the purpose.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

enhance_character_promptA

Expand a short character description into a richer, more detailed prompt for create_character_v3. Returns enhanced text — does not generate an image. Use this to preview/refine a prompt before generating.

ParametersJSON Schema
NameRequiredDescriptionDefault
viewNoCamera view (default 'low top-down')
detailNoDetail level hint
outlineNoOutline style hint
image_sizeYesOutput frame size, 32-256px (advisory)
descriptionYesCharacter description to enhance

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden. It clearly states that the tool does not generate an image and returns enhanced text, which is the key behavioral trait. No side effects or permissions are mentioned, but for this tool, that seems acceptable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loading the purpose and target tool, then providing usage guidance. Every word is meaningful and there is no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 5 parameters and no output schema, the description provides sufficient context: it explains the tool's output (text), its non-generative nature, and its relation to create_character_v3. However, it could briefly mention the output format or constraints.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the description adds limited value over the schema. The description implies that parameters are used to create a richer prompt, but does not add specific meaning per parameter. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'expand' and the resource 'character description', and specifies it is for create_character_v3. It distinguishes from image generation tools by noting it returns text only.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says 'Use this to preview/refine a prompt before generating', providing clear context for when to use the tool. However, it does not mention alternatives or when not to use it, though the sibling list includes other enhance prompts.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

enhance_pixen_promptA

Expand a short image description into a richer prompt for create_image_pixen. Returns enhanced text — does not generate an image.

ParametersJSON Schema
NameRequiredDescriptionDefault
viewNoCamera perspective
detailNoDetail level (default 'highly detailed')
outlineNoOutline style
directionNoCharacter facing direction
image_sizeYesWidth/height each 16-768, max area 512x512, both divisible by 4
descriptionYesImage description to enhance
no_backgroundNoEnhanced description targets a plain background (default false)

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description accurately discloses the tool's non-generative nature (does not create an image). While it omits details like authentication or rate limits, the behavior is simple and sufficiently transparent for a text enhancement utility.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences with key information front-loaded. Every word serves a purpose, and the structure efficiently conveys the tool's role and output.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's relatively simple function, the description is adequate. However, it could briefly mention that the output is a text prompt ready for create_image_pixen, which is implied but not stated. Overall, it covers the essential context for usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage for all 7 parameters, so the description adds no extra parameter-level information. The baseline score of 3 is appropriate given the schema already provides full parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it expands short descriptions into richer prompts for create_image_pixen, specifying the verb, resource, and distinguishing it from image generation tools. It also implicitly differentiates from other prompt enhancers (enhance_character_prompt, enhance_animation_prompt) by targeting pixen prompts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly positions this tool as a pre-step for create_image_pixen and notes it returns text, not an image. It lacks explicit when-not-to-use guidance or alternative tool mentions, but the context is clear enough for most agents.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

estimate_skeletonB

Estimate skeleton keypoints from a character image.

ParametersJSON Schema
NameRequiredDescriptionDefault
imageYesCharacter image

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavior but only states the basic function. It does not mention whether the tool is synchronous or asynchronous, what the output format is, whether it consumes resources, or any side effects (e.g., no destructive hint). The agent is left guessing about the tool's execution model and return value.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no redundant words. Every word adds value, and it is highly scannable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter, the description is adequate but incomplete. It does not explain what 'skeleton keypoints' are or what the output looks like, which could be critical for the agent to correctly process the result. The absence of an output schema makes this gap more significant.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the description does not need to repeat parameter details. However, it adds no additional meaning beyond the schema's 'Character image' description. The baseline score of 3 is appropriate as the description is sufficient but not enhancing.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Estimate'), the resource ('skeleton keypoints'), and the input source ('from a character image'). It effectively distinguishes from sibling tools like 'animate_with_skeleton' which uses skeleton data rather than estimating it.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives, such as when to estimate skeleton keypoints before animation or when other body estimation tools might be more appropriate. Prerequisites or post-processing steps are not mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_8_rotationsA

Generate 8 directional views from an existing image, style, or concept art. 32-168px. Does NOT create a persistent character — for that use create_character_8dir instead. Methods: rotate_character (from existing sprite), create_with_style (from description), create_from_concept (from concept art).

ParametersJSON Schema
NameRequiredDescriptionDefault
seedNoSeed for deterministic generation (default 0)
viewNoCamera perspective
methodYesGeneration method
image_sizeYes32x32 to 168x168
descriptionNoFor create_with_style: character description
concept_imageNoFor create_from_concept: concept art
no_backgroundNoGenerate with transparent background
reference_imageNoFor rotate_character: character image with dimensions
style_descriptionNoStyle description for the character

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full responsibility. It discloses the output (8 directional views) and size range, but does not mention whether the tool is read-only or mutating, what permissions are needed, or whether it's synchronous/asynchronous. The description is adequate but lacks depth on behavioral traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is exceptionally concise—only three sentences that immediately convey the core purpose and key distinctions. Every sentence adds value without unnecessary detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (9 parameters, multiple methods, nested objects), the description provides a high-level overview but does not map methods to their required parameters. While the schema is detailed, the description could better guide users on which parameters are needed for each method, especially since required parameters vary.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description adds value by grouping methods with their sources (e.g., 'rotate_character (from existing sprite)'), which clarifies the intended use of associated parameters like 'reference_image'. This extra context justifies a higher score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool generates 8 directional views from various sources, and distinguishes from a sibling tool (create_character_8dir) that creates a persistent character. The verb 'generate' and resource '8 directional views' are specific and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says when not to use the tool and provides a direct alternative ('use create_character_8dir instead'). It also outlines the three methods, helping users choose the right approach. However, it could be more explicit about when to use each method based on the user's input type.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_8_rotations_v3A

Generate 8 directional rotations from a single source frame using the v3 model. Simpler than generate_8_rotations — just provide one image and the model produces all 8 views. Does NOT create a persistent character; use create_character_8dir for that.

ParametersJSON Schema
NameRequiredDescriptionDefault
seedNoSeed for reproducible generation (0 for random, default 0)
first_frameYesSource frame to rotate into 8 directions
no_backgroundNoRemove background from generated frames

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It discloses a key behavioral trait (does not create persistent character) but does not explain what happens to the generated images (e.g., returned or saved), output format, or any potential rate limits or authentication needs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the core action, and contains no superfluous information. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description correctly distinguishes from siblings but fails to explain the return value (no output schema). For a tool with 3 parameters and no output schema, it should clarify how the generated images are returned (e.g., URLs, base64 data). This gap makes it moderately incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so all parameters are already documented. The description adds 'just provide one image' which aligns with the 'first_frame' parameter but does not add meaningful semantic depth beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool generates 8 directional rotations from a single source frame using the v3 model. It distinguishes itself from the sibling 'generate_8_rotations' by claiming it is simpler, and from 'create_character_8dir' by stating it does not create a persistent character.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear guidance on when to use this tool vs alternatives: it compares with 'generate_8_rotations' (simpler) and explicitly recommends using 'create_character_8dir' for persistent characters. However, it does not mention any prerequisites or conditions (e.g., image requirements).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_font_proA

Generate a styled pixel-art font (Pro) from a text description. Produces a glyph atlas plus a ready-to-use TrueType (.ttf) font. Returns a job_id immediately — poll get_job_status for the result.

ParametersJSON Schema
NameRequiredDescriptionDefault
seedNoSeed for deterministic generation (default 0)
weightYesStroke weight; guides glyph thickness
glyph_pxNoNative glyph resolution in pixels — the real bitmap size per glyph in the output (default 16)
font_nameNoExplicit font family name; defaults to '{description} {weight}'
image_sizeNoGeneration resolution tier / pricing key (default '1K'). 1K costs fewer generations1K
descriptionYesStyle description, e.g. 'warm orange arcade font'

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses the async nature (returns job_id) and the need for polling, but does not mention potential failures, rate limits, or cost implications beyond what is hinted in the image_size parameter description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no fluff. It front-loads the purpose and immediately provides the key behavioral information (async, polling). Every word adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description sufficiently describes the outputs (glyph atlas + .ttf). It could mention how to use the result or what the job status returns, but the polling tool (get_job_status) is a sibling. The description is adequate for an agent to understand the workflow.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description does not add new meaning to individual parameters; it only restates the main input 'description'. It does not explain parameters like seed, weight, or glyph_px beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states the action (generate font), the input (text description), and the outputs (glyph atlas and .ttf font). It clearly distinguishes from sibling tools as it's the only font generation tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description tells the agent to poll get_job_status for the result, providing a clear next step. However, it does not specify when not to use this tool or contrast with other generation tools, though no sibling font tools exist.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_imageA

Generate pixel art from a text description. PRIMARY generation tool — use this for standalone sprites, icons, and one-off images. 16-512px. Variants by size: ≤42px → 64, 43-85px → 16, 86-170px → 4, >170px → 1. For style-matched sets use generate_with_style. For game characters with directional views use create_character_4dir/8dir instead. For UI elements use generate_ui.

ParametersJSON Schema
NameRequiredDescriptionDefault
seedNoSeed for deterministic generation (default 0)
image_sizeYesOutput image dimensions
descriptionYesText description of the pixel art to generate
style_imageNoStyle reference image for consistent pixel art style
no_backgroundNoGenerate with transparent background
style_optionsNoOptions controlling what to copy from the style image
reference_imagesNoUp to 4 reference images for subject guidance

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description carries full burden. It adds size range and variant count rules but does not disclose output format, latency, or potential side effects. Some behavioral insight but insufficient depth.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Highly concise: two sentences plus brief directives. Front-loaded with purpose, then usage guidelines, then size info, then alternatives. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers purpose and usage well, but lacks description of return values (no output schema) and the variant numbers are ambiguously explained. Missing details on output format and behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (baseline 3). The description adds behavioral context for image_size via the variant mapping (e.g., ≤42px → 64), which enhances understanding beyond the schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Generate pixel art from a text description' and specifies it's for 'standalone sprites, icons, and one-off images', distinguishing it from sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly provides when to use (standalone) and when not to (style-matched sets, characters, UI) with named alternative tools like generate_with_style and create_character_4dir.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_uiA

Generate pixel art UI elements for games — buttons, panels, health bars, inventory slots, icons, frames. Use this instead of generate_image when creating interface/HUD elements. Min 16x16, max 512x512.

ParametersJSON Schema
NameRequiredDescriptionDefault
seedNoSeed for deterministic generation (default 0)
image_sizeYesOutput dimensions (min 16x16)
descriptionYesUI element description (e.g. 'medieval stone button with gold trim')
color_paletteNoColor palette description (e.g. 'brown and gold')
concept_imageNoDesign guidance image
no_backgroundNoGenerate with transparent background

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description must fully disclose behavioral traits. It mentions size constraints (min/max) and default transparency, but does not explain whether the tool is destructive, requires authentication, or what side effects occur (e.g., saving an asset). This leaves gaps in transparency for a generation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with two focused sentences. The first sentence covers purpose and examples, the second provides usage guidance and constraints. No unnecessary words, front-loaded with key information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having 6 parameters (including nested objects) and no output schema, the description fails to explain what the tool returns—whether it generates an image, saves a UI asset, or something else. This omission makes it incomplete for an agent to understand the tool's full effect.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds context about UI elements and size limits, but the input schema already describes parameters adequately. No additional parameter semantics beyond what schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool generates pixel art UI elements for games and lists specific examples like buttons, panels, and health bars. It also explicitly distinguishes itself from the sibling tool 'generate_image', making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance on when to use this tool ('instead of generate_image when creating interface/HUD elements'), which differentiates it from a key sibling. However, it does not cover when not to use it or mention other alternatives, which would strengthen this dimension.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_with_styleA

Generate pixel art matching a specific visual style from 1-4 style reference images. Use this when you need consistent style across multiple assets. SQUARE images only, 16-512px. Auto-pads to nearest bucket (16/32/64/128/256/512). Variants: 16-32px → 64, 33-64px → 16, 65-128px → 4, 129-512px → 1.

ParametersJSON Schema
NameRequiredDescriptionDefault
seedNoSeed for deterministic generation (default 0)
image_sizeYesOutput dimensions (square, 16-512px)
descriptionYesWhat to generate
style_imagesYes1-4 style reference images
no_backgroundNoGenerate with transparent background
style_descriptionNoFine-tune style matching details

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description carries full burden. It discloses auto-padding to nearest bucket and variant counts based on size. It also states 'SQUARE images only.' However, it does not clarify what happens if non-square input is given or the exact output structure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with two sentences and a variant mapping line. It is front-loaded with the core purpose and usage guideline, without unnecessary details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers inputs and key behaviors but lacks output specification. Without an output schema, the agent may not know what the result contains (e.g., single image or list of variants). Complexity is moderate, but more detail on return value would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds some behavioral context (auto-padding, variants) but does not elaborate on individual parameter meanings beyond what schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool generates pixel art matching a specific visual style from style reference images. This verb+resource combo distinguishes it from sibling tools like general image generation or style-transfer tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says 'Use this when you need consistent style across multiple assets.' It also constrains usage to square images of 16-512px. However, it does not mention when not to use or list alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_balanceA

Get your current PixelLab credit balance

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided. The description does not explicitly state it's a read-only operation, but the name and context imply it. Some additional safety disclosure would be ideal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence with no wasted words. It is appropriately front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple no-parameter tool that returns a balance, the description is complete. It specifies what the tool does and the expected result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters in the schema, so baseline is 4. The description correctly avoids mentioning any, as there are none.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool gets the current credit balance. It uses a specific verb+resource and is easily distinguishable from the many sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when or when not to use, but for a simple balance check the context is clear. No alternatives are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_characterA

Get a character by ID including all directional views and animations.

ParametersJSON Schema
NameRequiredDescriptionDefault
character_idYesCharacter ID

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits. It mentions the output includes directional views and animations but fails to specify if it's a read-only operation, authentication needs, or any side effects. The description is minimally transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that front-loads the main action and includes key details. Every word earns its place, with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has one required parameter and no output schema, the description adequately explains the purpose and output contents. It could be improved by noting that it is a read operation, but it is largely complete for a simple retrieval tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers 100% of parameters with a description for character_id. The description adds 'by ID', which matches the parameter but does not provide additional meaning beyond what the schema already states.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get a character by ID including all directional views and animations' clearly states the action (Get), the resource (character by ID), and the scope (including all directional views and animations). It distinguishes from siblings like list_characters and creation tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for retrieving a specific character, but it does not explicitly mention when to use this tool versus alternatives such as list_characters for browsing or other character-related tools. Some guidance would improve clarity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_font_pro_jobA

Get the status and result of a generate_font_pro job by its job_id. Use this rather than get_job_status for font-pro jobs — they are served from a dedicated endpoint.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYesJob ID returned by generate_font_pro

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden. It implies a read-only operation (getting status/result) and mentions a dedicated endpoint, but does not elaborate on rate limits, data freshness, or error behavior. Adequate but minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no extraneous words. The critical information is front-loaded: verb, resource, and usage guidance. Highly efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the single parameter, lack of output schema, and no annotations, the description covers all necessary context: what the tool does, what input it needs (from generate_font_pro), and when to use it. No gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a clear description for job_id. The description adds no additional meaning beyond restating that the tool takes a job_id. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get' and the resource 'status and result of a generate_font_pro job', and explicitly distinguishes it from the sibling 'get_job_status' tool by specifying 'font-pro jobs'. This provides full clarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'Use this rather than get_job_status for font-pro jobs' and provides the reason 'they are served from a dedicated endpoint'. This gives clear when-to-use guidance and an alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_isometric_tileA

Get a previously created isometric tile by ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
tile_idYesIsometric tile ID

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description only states 'Get a previously created isometric tile,' which is a simple read operation. No behavioral details like authentication, rate limits, or side effects are disclosed, but for a retrieval tool, this is minimally adequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no unnecessary words. It is front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has one simple parameter and no output schema. The description is basic but sufficient for a straightforward retrieval operation. However, it does not mention the return format or any related context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with the tile_id parameter already described as 'Isometric tile ID.' The description adds no additional meaning beyond 'by ID,' which is redundant. Baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get a previously created isometric tile by ID' clearly states the verb ('Get') and resource ('isometric tile by ID'). It distinguishes from sibling tools like create_isometric_tile and list_isometric_tiles.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when you have a tile ID, but does not provide explicit guidance on when to use this tool versus alternatives (e.g., list_isometric_tiles). No when-not or context is mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_job_statusA

Check the status of a background job and retrieve its results when complete. All creation tools return a job_id immediately — use this tool to poll for completion and get the generated images/data.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYesThe background job ID

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. States it polls and returns data, but doesn't disclose idempotency, rate limits, or error handling. Adequate for a simple status check.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with purpose, and zero wasted words. Highly concise and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, description hints at return values (generated images/data). Covers essential flow but could mention polling frequency or timeout. Adequate for a simple tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers 100% of parameters with a description of job_id. Description adds context about where the job_id comes from (creation tools), but no extra meaning beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it checks status and retrieves results, and explains the relationship with creation tools. Distinguishes itself as the polling tool for async jobs among many siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says to use after creation tools return a job_id to poll for completion. Lacks explicit when-not-to-use or alternatives, but context is clear given sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_map_objectA

Get a map object's status and metadata by ID (from create_map_object).

ParametersJSON Schema
NameRequiredDescriptionDefault
object_idYesMap object ID

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It implies a read-only operation with no side effects, but does not explicitly state that it is safe, idempotent, or what happens on invalid input. For a simple read tool, this is adequate but minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no wasted words, efficiently conveying the tool's purpose and a key usage hint.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter getter with no output schema, the description adequately indicates it returns 'status and metadata', but lacks details on return format, potential errors, or pagination (if any). It is mostly complete for the tool's simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema covers 100% of parameters with a simple description for object_id, but the tool description adds the context that the ID comes from create_map_object, which provides meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get' and the resource 'map object's status and metadata by ID', with a parenthetical referencing 'from create_map_object' which differentiates it from sibling tools like list_objects and get_object for other object types.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context that this tool is used after creating a map object to retrieve its status and metadata, but does not explicitly state when not to use it or mention alternative tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_objectC

Get an object by ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
object_idYesObject ID

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, and description fails to disclose read-only nature, error handling, authorization, or rate limits. Merely states action without behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence is efficient and front-loaded. No wasted words, though could benefit from slightly more context without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, description is incomplete. Does not explain return format, error cases, or side effects. Inadequate for a 1-param tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers one parameter with description 'Object ID'. The tool description adds no extra meaning, format examples, or clarification beyond the schema. Schema coverage is 100%, so baseline is 3, but description adds zero value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'Get an object by ID' with specific verb and resource. Among siblings, it distinguishes from list_objects which lists all objects.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like list_objects or get_character. No context on prerequisites or use cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_portrait_character_pro_jobA

Get the status and result of a portrait_character_pro job by its job_id. Use this rather than get_job_status for portrait↔character jobs — they are served from a dedicated endpoint.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYesJob ID returned by portrait_character_pro

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided. The description indicates it is a read operation retrieving status and result, but does not disclose additional behavioral traits such as rate limits, authentication requirements, or side effects. It mentions a dedicated endpoint but without further details, so transparency is adequate but minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no wasted words. The first sentence states the purpose, the second provides usage guidance. Perfectly front-loaded and concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple polling tool with one parameter and no output schema, the description is fairly complete. It covers what it does, how to use it, and when to prefer it. It could mention the nature of the result or error handling, but not critical. Overall sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for the single parameter job_id, with schema already describing it as 'Job ID returned by portrait_character_pro'. The description does not add further semantics beyond restating that it's the job_id. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool gets status and result of a specific job type (portrait_character_pro job), using the verb 'Get' and the resource 'status and result of a portrait_character_pro job'. It also explicitly distinguishes from sibling get_job_status.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly advises when to use this tool: 'Use this rather than get_job_status for portrait↔character jobs — they are served from a dedicated endpoint.' This provides clear guidance and names the alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_tilesetB

Get a previously created tileset by ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
tileset_idYesTileset ID

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description bears the full burden. It only states the basic purpose (get by ID) without disclosing side effects, rate limits, or authentication requirements. For a read operation, the risk is low, but additional context would be beneficial.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that is front-loaded and contains no unnecessary words. It efficiently communicates the tool's purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple 1-parameter read tool with no output schema, the description is adequate. However, it could mention that the tool returns the tileset details, which would provide completeness given the absence of an output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with one parameter described as 'Tileset ID'. The description aligns with this but adds no additional semantic information beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action 'Get' and the resource 'previously created tileset by ID'. It effectively differentiates from sibling tools like create_tileset, list_tilesets, and delete_tileset.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives, such as list_tilesets or other retrieval tools. No prerequisites or exclusions are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_tileset_sidescrollerA

Get a previously created sidescroller tileset by ID. For top-down tilesets use get_tileset.

ParametersJSON Schema
NameRequiredDescriptionDefault
tileset_idYesSidescroller tileset ID

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It does not disclose error behavior, return format, or any other behavioral context beyond 'Get'.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences: first states the purpose, second provides the alternative. Front-loaded and no waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple get-by-ID tool with one parameter and no output schema, the description is almost complete. It lacks only a mention of what is returned (e.g., the tileset data).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the parameter description 'Sidescroller tileset ID' is already in the schema. The tool description adds no additional semantic value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the verb 'Get' and the resource 'sidescroller tileset', and distinguishes from the sibling tool 'get_tileset' for top-down tilesets.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly provides when to use this tool (for sidescroller tilesets) and when not to (use get_tileset for top-down tilesets).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_tiles_proB

Get previously created pro tiles by ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
tile_idYesTiles pro ID

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It only states a read operation but does not disclose return format, error behavior, or any side effects. Minimal transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no waste. Could be slightly more structured but adequate.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given simple parameters and no output schema, description covers basic purpose but lacks details on return values or error handling.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the description adds no extra meaning beyond the schema's 'Tiles pro ID' for tile_id. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states verb 'Get', resource 'previously created pro tiles', and input 'by ID'. It distinguishes itself from sibling tools like list_tiles_pro and create_tiles_pro.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like list_tiles_pro. No context about prerequisites or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_ui_assetB

Get a UI panel's details by ID. Reports progress while the panel is still generating.

ParametersJSON Schema
NameRequiredDescriptionDefault
ui_asset_idYesUI asset ID

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries full burden. It mentions progress reporting, which is helpful, but omits key behavioral traits such as read-only nature, authentication requirements, or potential side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: two sentences that convey purpose and a notable behavior without any extraneous words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given one parameter and no output schema, the description covers the core retrieval function and an interesting behavior (progress reporting). However, it lacks detail about what constitutes 'details' or expected response format.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with the parameter described as 'UI asset ID'. The description adds no additional meaning beyond the schema, so baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it retrieves UI panel details by ID, with an added behavioral note about progress reporting. It distinguishes from sibling tools like list_ui_assets and delete_ui_asset by focusing on a single asset retrieval.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use when needing details of a specific UI panel by ID, but does not provide explicit guidance on when to use vs alternatives or any prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_vocal_animation_jobA

Get the status and result of a vocal_animation job by its job_id. Mouth positions stream in as they are produced (completed_visemes fills up while the job runs). On completion, a character_id job has saved the set onto the character; a portrait job returns the frames in visemes.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYesJob ID returned by vocal_animation

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral disclosure burden. It transparently explains streaming behavior ('Mouth positions stream in as they are produced'), that completed_visemes fills during execution, and that the outcome differs depending on job type (character_id saves, portrait returns frames). This goes well beyond the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, all information-dense, with zero filler. The structure front-loads the core purpose, then explains runtime behavior, then completion behavior.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given a simple one-parameter tool with no output schema, the description covers the essential behavior: how to identify the job, what streams during execution, and what happens on completion for both job types. Minor gaps exist (e.g., how to determine job failure or when to stop polling), but it is functionally complete for most use cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single parameter job_id already has a clear description ('Job ID returned by vocal_animation'). The tool description adds only mild redundancy ('by its job_id') and no new parameter-level detail, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Get') and clearly identifies the resource ('status and result of a vocal_animation job by its job_id'). It also distinguishes this from the generic sibling get_job_status by scoping it to vocal_animation jobs and describing job-type-specific results.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The context implies it should be used after launching a vocal_animation job to poll for status/result, and it explains what happens during and after the job. However, it does not explicitly contrast it with the generic get_job_status sibling or state when NOT to use it, so the guidance is only implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

image_to_pixelartA

Convert a photograph or regular image into pixel art. Input 16-1280px, output 16-320px. Recommended: output = 1/4 of input size.

ParametersJSON Schema
NameRequiredDescriptionDefault
seedNoSeed for deterministic generation (default 0)
imageYesSource image to convert
image_sizeYesInput image dimensions
output_sizeYesTarget pixel art size (max 320x320)
text_guidance_scaleNoPixel art style adherence (default 8.0)

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden for behavioral disclosure. It mentions size ranges but does not describe the conversion process, output format, or any side effects. Lacks important safety indications.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, no fluff. Purpose, constraints, and recommendation are presented concisely and front-loaded with the action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, description should mention return type or format. It covers size constraints and recommendation but omits output details and any behavioral caveats. Adequate but incomplete for a complex tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, baseline 3. The description adds value by recommending a 1/4 size ratio, which helps the agent set sensible parameters, slightly exceeding baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool converts a photograph or regular image into pixel art, with specific size constraints. It distinguishes itself from the sibling 'image_to_pixelart_pro' by focusing on basic conversion and recommending output size ratio.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Description provides a size recommendation but no guidance on when to use this tool versus alternatives like 'image_to_pixelart_pro' or other image editing tools. No explicit usage context or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

image_to_pixelart_proA

Convert a photograph or regular image into pixel art using the Pro engine. The model derives output size from the input — you only supply the source image and optional style instructions. Higher quality than image_to_pixelart but less manual size control.

ParametersJSON Schema
NameRequiredDescriptionDefault
seedNoSeed for deterministic generation (default 0)
imageYesSource image to convert
descriptionNoOptional extra style instructions

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, but the description discloses key behavioral traits: the model derives output size from input, and it has higher quality with less manual control. Does not detail potential side effects or exact output format, but is sufficient for safe usage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences with no fluff. Front-loaded with the main action and key differentiator. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description does not specify what the tool returns (e.g., base64 PNG). However, for image conversion, it is reasonable to assume a pixel art image as output. The missing output info slightly reduces completeness, but overall it adequately covers the tool's role among many siblings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, baseline 3. Description adds extra context: 'you only supply the source image and optional style instructions' and 'model derives output size from the input', which clarifies parameter usage beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('convert'), resource (photograph/image to pixel art), and explicitly distinguishes from sibling 'image_to_pixelart' by mentioning 'Pro engine' and 'higher quality but less manual size control.'

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit guidance: 'you only supply the source image and optional style instructions' and contrasts with sibling ('Higher quality...but less manual size control'), indicating when to use vs. the alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

inpaintA

Legacy inpainting using the Bitforge engine. Max 200x200. Prefer inpaint_v3 (up to 512px, better quality). Only use this if you need Bitforge-specific params like style controls or oblique projection during inpainting.

ParametersJSON Schema
NameRequiredDescriptionDefault
seedNoSeed for deterministic generation (default 0)
viewNoCamera perspective
detailNoDetail level
outlineNoOutline style
shadingNoShading style
directionNoCharacter facing direction
isometricNoGenerate in isometric view (default false)
image_sizeYesMax 200x200
init_imageNoInitialization image
mask_imageYesMask image
color_imageNoColor palette reference image
descriptionYesWhat to generate
no_backgroundNoGenerate with transparent background
inpainting_imageYesImage to edit
oblique_projectionNoUse oblique projection (default false)
init_image_strengthNoInitial image influence strength (0-1000, default 300)
text_guidance_scaleNoText prompt influence (1.0-20.0, default 3.0)
extra_guidance_scaleNoAdditional guidance (default 3.0)
negative_descriptionNoWhat to avoid in generation

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries the burden. It reveals the engine, legacy status, and maximum size, but omits side effects, return format, authentication needs, or error behavior. Adequate but not thorough.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three focused sentences without filler, efficiently conveying purpose, limits, and when to use alternatives.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite 19 parameters and no output schema, the description is minimal. It lacks details on return values, failure modes, parameter interactions, or comprehensive behavior, making it incomplete for fully autonomous use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, baseline 3. The description adds value by linking 'style controls' and 'oblique projection' to parameter groups (e.g., shading, outline, isometric, oblique_projection), providing context beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool as legacy inpainting using the Bitforge engine and distinguishes it from the preferred inpaint_v3 by noting size limits and Bitforge-specific capabilities.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to prefer inpaint_v3 (for better quality and up to 512px) and when to use this tool (when Bitforge-specific params like style controls or oblique projection are needed).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

inpaint_v3A

Edit a specific region of a pixel art image using a mask. White mask = generate, black mask = preserve. Image 32-512px, optional context image up to 1024x1024. Preferred over legacy inpaint (which caps at 200px).

ParametersJSON Schema
NameRequiredDescriptionDefault
seedNoSeed for deterministic generation (default 0)
mask_imageYesMask (white=generate, black=preserve)
descriptionYesWhat to generate in the masked area
bounding_boxNoPrecise editing area within the image (deprecated)
crop_to_maskNoWhether to crop generated content to mask boundary (default true)
context_imageNoStyle guidance image (up to 1024x1024) (deprecated)
no_backgroundNoGenerate with transparent background
inpainting_imageYesImage to edit

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. Explains mask color meaning and size limits, but does not disclose if operation is destructive, asynchronous, or requires authentication. Lacks behavioral details like how results are returned (likely job ID, as sibling tools suggest). Adequate but not comprehensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no redundancy. First sentence states core action and mask semantics. Second provides constraints and comparison to legacy. Well front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, and description does not mention return value (likely a job ID given sibling tools). Omits async nature, job polling, or how to retrieve results. For an 8-parameter tool, this is a significant omission, leaving the agent uninformed about post-invocation steps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline 3. Description adds minimal extra value: only mentions deprecation for bounding_box and context_image (already in schema). No elaboration on seed, crop_to_mask, or no_background beyond schema. Fails to enhance semantic understanding significantly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the tool edits a specific region of a pixel art image using a mask, with explicit mask semantics (white generate, black preserve). Distinguishes from sibling 'inpaint' by noting it is preferred and has higher resolution limit (512px vs 200px).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit preference over legacy inpaint and size constraints (image 32-512px, context image up to 1024x1024). However, lacks guidance on when not to use (e.g., for non-pixel art) or prerequisites (e.g., need a mask). Nearly complete but missing exclusionary criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

interpolate_framesA

Generate intermediate animation frames between a start and end keyframe. 16-128px. Use this to smooth out animations by adding in-between frames. For full animation creation from a single image use animate_with_text_v2.

ParametersJSON Schema
NameRequiredDescriptionDefault
seedNoSeed for deterministic generation (default 0)
actionYesAnimation action description
end_imageYesLast keyframe
image_sizeYesFrame size (16x16 to 128x128)
start_imageYesFirst keyframe
no_backgroundNoGenerate with transparent background

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It mentions size range and generation of in-between frames, but lacks details on number of frames, output format, or any constraints beyond the size limit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences with no redundancy; front-loaded with the core purpose and followed by usage guidance. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

While the description covers basic purpose and size, it does not explain the action parameter's role or how many frames are generated. Given no output schema and nested inputs, more behavioral context would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% description coverage, so the description adds minimal new information beyond repeating the size constraint already in the schema. Baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool generates intermediate animation frames between keyframes, and distinguishes itself from animate_with_text_v2 for full animation creation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use (smooth out animations) and when not to (for full animation from single image use animate_with_text_v2), providing an alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

lip_syncA

Get the frame-by-frame lip-sync plan for a line of text — which mouth position to show, for how long, and how far through the text it lands. Free, and nothing is rendered: use this instead of talking_gif when animating in a game engine and driving the mouth yourself. Provide character_id (response also carries the spritesheet URL and row to read) or a bare viseme_count preset.

ParametersJSON Schema
NameRequiredDescriptionDefault
moodNoWhich stored expression to use (defaults to the character's first). Only valid with character_id
textYesThe line of dialogue to lip-sync
hold_msNoExtra time on the final closed mouth (default 600)
frame_msNoMilliseconds to hold each mouth position (default 90)
character_idNoUse the mouth positions stored on this character; the response then also carries the spritesheet URL and the row to read. Mutually exclusive with viseme_count
viseme_countNoPlan against a preset without touching a character — useful if you hold the frames yourself. Mutually exclusive with character_id

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries the burden. It discloses the tool is free, renders nothing, and details the response contents (spritesheet URL and row with character_id). Adds useful context beyond a simple 'get' operation, though it doesn't discuss error conditions or rate limits. Sufficient transparency for a read-only tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences that are front-loaded with the core purpose and value proposition. The first sentence explains what it returns; the second clarifies when to use it and the two parameter modes. Every sentence earns its place with no fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, so the description explains the return format (frame-by-frame plan, mouth positions, durations, text progress, spritesheet URL). It covers both usage modes and the distinction from talking_gif. For a tool with 6 params and no output schema, this is a complete and self-contained description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptive parameter docs. The description adds value by clarifying the output difference between character_id (response carries spritesheet URL/row) and viseme_count (preset without character), and notes mutual exclusivity. This goes beyond the schema's basic field semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it gets a frame-by-frame lip-sync plan for a line of text, specifying mouth position, duration, and text progress. Distinguishes itself from talking_gif by noting it's free, renders nothing, and is intended for game engines. Specific verb and resource with a clear scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly instructs to use this instead of talking_gif when animating in a game engine and driving the mouth yourself. Also explains the two modes (character_id vs viseme_count), providing clear selection criteria. No ambiguity about when to use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_charactersA

List your created characters with pagination.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoResults per page (1-100, default 50)
offsetNoPagination offset

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. Mentions pagination behavior, but does not disclose ordering, default limit, or that it only lists created characters (not all characters). Adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence that is front-loaded with the core action and resource, no wasted words. Highly efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, but typical for list tools. Description does not specify return format or pagination response structure. Given many sibling tools, slightly incomplete but not severely lacking.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers both parameters with descriptions (limit: 1-100 default 50, offset). Description adds minimal value beyond confirming pagination. Baseline 3 due to 100% schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states verb 'list', resource 'your created characters', and includes key detail 'with pagination'. Distinguishes from sibling tools like get_character (single) and list_objects (different resource).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implied usage for listing characters, but no explicit guidance on when to use vs alternatives (e.g., get_character for a specific character). No when-not-to-use or prerequisites mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_isometric_tilesB

List your previously created isometric tiles with pagination.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoResults per page (1-100, default 50)
offsetNoPagination offset (default 0)

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description implies a safe read operation but does not disclose behavioral traits like ownership scope, return format, or performance characteristics. Without annotations, this is adequate but minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence with no fluff, front-loading the purpose. It's efficiently written but could benefit from slightly more detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, and the description does not specify what fields the list returns (e.g., id, name). For a listing tool, this is a notable gap, especially among many similar sibling tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the descriptions for limit and offset already exist. The tool description adds no extra meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it lists previously created isometric tiles with pagination, but does not distinguish from sibling tools like list_tiles_pro or list_characters.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. Among many list_* siblings, the agent receives no differentiation or exclusion criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_job_historyA

List recent job history (completed, failed, and pending). Jobs are pruned after 24 hours.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description bears full burden. It discloses the pruning behavior but lacks details on order, count, or definition of 'recent'. This is moderately transparent but incomplete.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no unnecessary words. Front-loaded with the core action and statuses, then the pruning note. Highly concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a parameterless listing tool, the description covers the purpose and a key behavior. It does not describe the return format or fields, but given simplicity, it is mostly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are zero parameters, so the baseline is 4. The description adds no parameter information, which is acceptable since none exist.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it lists recent job history covering completed, failed, and pending statuses, distinguishing it from siblings like 'get_job_status' (single job) and 'list_pending_jobs' (only pending). The mention of pruning after 24 hours adds specificity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use (to see all recent jobs) but does not explicitly state when not to use or mention alternatives. Given sibling tools, the context helps, but the description itself offers no direct guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_objectsC

List your created objects with pagination.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo1-100, default 50
offsetNo

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden for behavioral disclosure. It only mentions pagination, omitting details like return format, rate limits, or that it is a read-only operation. More context is needed for safe usage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with 5 words, making it efficiently concise. However, it could be slightly expanded to include key information without losing brevity, such as noting the default limit or order of results.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a listing tool with no output schema, the description fails to specify what fields or properties are returned, how pagination works (e.g., cursor vs. offset-based), or whether results are ordered. This leaves significant gaps for an agent to use correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds no meaning beyond the input schema. The schema already documents the limit parameter but omits description for offset. The tool description does not compensate for the missing offset semantics, leaving its purpose and constraints unclear.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists 'your created objects' with pagination. The verb 'list' and resource 'objects' are specific, and the sibling tools include list_characters, list_tilesets, etc., making this tool distinct.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like list_characters or list_tilesets. The description does not specify context, prerequisites, or exclusions, leaving the agent to infer usage from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_pending_jobsA

List background jobs that were started but haven't completed yet. Use this to recover jobs after a disconnection or timeout.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must cover behavioral aspects. It implies a read operation but lacks details on ordering, limits, or behavior when no jobs exist. Does not disclose if it returns only active or also failed jobs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences. First states purpose, second provides usage guidance. No fluff. Front-loaded with key information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no parameters and no output schema, the description is adequate but could be improved by mentioning output format (e.g., list of job IDs, statuses). Given many sibling tools, the agent may still navigate effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist, so schema coverage is 100%. Description adds no param info, which is appropriate. Baseline 4 is correct.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists background jobs that haven't completed. It distinguishes from siblings like 'list_job_history' by focusing on pending jobs, but doesn't explicitly differentiate from 'get_job_status'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides a specific use case ('recover jobs after disconnection or timeout'), which gives context. Does not mention when not to use or list alternatives, but the single-purpose nature reduces ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_tilesetsB

List your previously created tilesets with pagination.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoResults per page (1-100, default 50)
offsetNoPagination offset (default 0)

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description must fully convey behavior. It only states pagination, lacking details on authentication, rate limits, ordering, or behavior when no tilesets exist.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence with no filler. However, the brevity may sacrifice useful detail, though appropriate for a simple list operation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given two simple parameters, no output schema, and standard list behavior, the description is minimally adequate but could mention default ordering or max results for completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with clear descriptions for both parameters (limit and offset). The description adds no additional meaning beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('List'), the resource ('tilesets'), and scope ('previously created' with 'pagination'). It distinctly differentiates from sibling tools like list_tilesets_sidescroller.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions 'pagination', implying use for paginated listing, but provides no explicit guidance on when to use this tool versus alternatives like list_tilesets_sidescroller, or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_tilesets_sidescrollerA

List your sidescroller tilesets with pagination. For top-down tilesets use list_tilesets.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoResults per page (1-50, default 10)
offsetNoPagination offset (default 0)

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. Discloses pagination behavior, but does not mention rate limits or error handling; still adequate for a simple read operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with verb and resource, zero wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, but the description explains the tool's purpose and distinction. Could mention return format, but still sufficient given the tool's simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with clear descriptions for limit and offset. Description adds no extra meaning beyond the schema, meeting baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'List' and resource 'sidescroller tilesets', and explicitly differentiates from sibling tool list_tilesets for top-down tilesets.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit when-to-use (sidescroller tilesets) and when-not-to-use (top-down), and mentions pagination feature.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_tiles_proB

List your previously created pro tiles with pagination.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoResults per page (1-50, default 10)
offsetNoPagination offset (default 0)

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, description provides minimal behavioral info beyond listing and pagination. It mentions 'previously created' but lacks details on authentication, rate limits, or empty results.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, 8 words, front-loaded with action and purpose. No wasted text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a simple list tool with pagination, but lacks info on sort order, error handling, or relationship to sibling tools. No output schema means return format is unspecified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers both parameters with descriptions. Tool description adds no extra meaning beyond schema, so baseline score applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly identifies the verb (list), resource (pro tiles), and scope (previously created, paginated). It distinguishes from sibling tools like list_tilesets and list_isometric_tiles.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like list_tilesets or list_isometric_tiles. Agent must infer from context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_ui_assetsA

List your saved UI panels (newest first), with pagination. Includes ghost rows for panels still generating.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoResults per page
offsetNoPagination offset

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It discloses ordering and ghost rows for pending generations, but does not state that the operation is read-only or non-destructive, which could be assumed but should be explicit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences covering core function and a special feature (ghost rows) without waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a simple list tool with high schema coverage; mentions ghost rows, but could optionally describe return fields since no output schema is provided.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds minimal additional context about ordering which is related to pagination, but doesn't enhance parameter meaning beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the tool lists saved UI panels with ordering (newest first) and pagination, distinguishing it from other list tools by resource type.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide explicit guidance on when to use this tool versus alternatives like list_characters. The resource name implies differentiation but lacks comparative context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

portrait_character_proA

Convert between a bust portrait and a full-body character sprite (Pro). direction='portrait_to_character' takes a portrait in and returns a full-body sprite; 'character_to_portrait' does the reverse. Returns a job_id immediately — poll get_job_status for the result.

ParametersJSON Schema
NameRequiredDescriptionDefault
seedNoSeed for deterministic generation (default 0)
viewNoCamera angle of the character (default 'low top-down')
imageYesInput image (a portrait or a character, matching direction)
directionNoConversion direction (default 'portrait_to_character')portrait_to_character
result_sizeNoOutput sprite size in pixels (default 64). 128/160 render at 2K for extra detail and cost more

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It correctly discloses the async behavior (returns job_id immediately) but does not mention potential errors, auth requirements, or side effects. The description is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loading the main purpose and then detailing the directions and async workflow. Every sentence adds value, and no redundant information is present.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (5 parameters, async) and lack of output schema, the description covers the essential: what it does, how to use it, and the return type. It could be more complete by explaining the job polling process, but it is still adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description reinforces the direction parameter but adds little beyond schema details like seed, view, image structure, and result_size costs. No new parameter insight.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool converts between a bust portrait and full-body character sprite, with explicit direction options. This specific verb-resource combination distinguishes it from sibling tools like list_characters or get_character.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains the two conversion directions and notes that the tool is async, instructing the agent to poll get_job_status for results. This provides clear usage context. It could mention when not to use it or alternatives, but the specificity suffices.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

read_imageA

Read a previously saved image from disk and return it as a Base64Image object that can be passed directly to other tools (e.g. edit_image, remove_background, image_to_pixelart). Use the file paths shown in earlier tool responses.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYesAbsolute path to a saved PNG image (from a previous tool response)

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses the output type and that the tool reads from disk, but does not mention error handling (e.g., what happens if the file doesn't exist) or behavior details like performance or idempotency. It is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with purpose and output reference. No redundant words. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter and no output schema, the description covers all essential aspects: what it does, how to use it, and what to do with the result. It is complete given the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the schema description for the single parameter is clear. The description adds minimal reinforcement ('Use the file paths shown in earlier tool responses') but no new semantic information beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Read'), a resource ('previously saved image from disk'), and the output format ('Base64Image object'). It also names sibling tools that consume this output, clearly distinguishing it from other tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description tells when to use the tool ('when you have file paths from earlier tool responses') and provides a usage hint ('Use the file paths shown in earlier tool responses'). It does not explicitly state when not to use it, but the context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

remove_backgroundC

Remove the background from a pixel art image (max 400x400).

ParametersJSON Schema
NameRequiredDescriptionDefault
seedNoSeed for deterministic generation (default 0)
textNoDescription of the foreground object to help removal
imageYesSource image
image_sizeYesImage dimensions
background_removal_taskNoType of background removal (default remove_simple_background)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description only discloses the size limit. It does not specify if the output is a transparent background, how the background_removal_task enum affects behavior, or any other side effects. Since no annotations exist, the description fails to adequately inform the agent about behavioral traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that front-loads the core action. It could be expanded slightly without losing conciseness, but it is not verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has 5 parameters including nested objects and an enum, but no output schema. The description does not explain what the tool returns (e.g., a new image with transparent background), nor does it cover constraints like image format or error handling.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents all parameters. The description adds no extra meaning such as guidance on using the 'text' parameter or when to choose simple vs complex removal.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool removes background from pixel art images with a maximum size constraint, making the purpose clear. However, it does not differentiate from sibling tools like inpaint or edit_image that could also manipulate backgrounds.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as inpaint or create_image_pixflux_background. The absence of usage context leaves the agent to guess.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

resize_imageA

AI-powered resize of a pixel art image to a different resolution while preserving quality. Source and target 16-200px. Best in steps: max 50% shrink or 2x grow per operation.

ParametersJSON Schema
NameRequiredDescriptionDefault
seedNoSeed for deterministic generation (default 0)
viewNoCamera perspective
directionNoCharacter facing direction
isometricNoGenerate in isometric view (default false)
init_imageNoOptional initialization image
color_imageNoColor palette reference image
descriptionYesDescription of the character/object
target_sizeYesTarget dimensions (16-200px)
no_backgroundNoGenerate with transparent background
reference_imageYesImage to resize
oblique_projectionNoUse oblique projection (default false)
init_image_strengthNoInit image influence (default 150.0)
reference_image_sizeYesCurrent image dimensions

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses it is AI-powered and preserves quality, with step recommendations. No annotations exist, so the description carries the full burden. It omits details about output format, side effects, or behavior when limits are exceeded, but provides some useful behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with purpose, no fluff. Every word earns its place. Ideal conciseness for a tool description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite good purpose clarity, the description is too brief given the tool's complexity (13 parameters, nested objects, no output schema). It does not explain key parameters like seed, view, direction, or how the tool handles multiple inputs. Compared to similar tools, more context is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% coverage, so baseline is 3. The description adds value by reiterating size limits (16-200px) and the step guidance, which are not explicit in schema descriptions. This enhances understanding beyond raw field definitions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool resizes pixel art images to a different resolution while preserving quality, with specific size limits (16-200px). It uses a specific verb ('resize') and resource ('pixel art image'), making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides practical usage advice: 'Best in steps: max 50% shrink or 2x grow per operation.' This helps the agent know how to use the tool effectively. However, it does not explicitly state when not to use it or offer alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rotateA

Rotate a single character sprite from one view/direction to another. Fixed sizes only: 16, 32, 64, or 128px. For generating all 8 directions at once use generate_8_rotations or create_character_8dir instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
seedNoSeed for deterministic generation (default 0)
to_viewNoCamera perspective
from_viewNoCamera perspective
isometricNoGenerate in isometric view (default false)
from_imageYesSource image
image_sizeYes16x16 to 128x128
init_imageNoInitialization image
mask_imageNoMask image
color_imageNoColor palette reference image
view_changeNoRelative view change (alternative to from/to_view)
to_directionNoCharacter facing direction
from_directionNoCharacter facing direction
direction_changeNoRelative direction change (alternative to from/to_direction)
oblique_projectionNoUse oblique projection (default false)
init_image_strengthNoInitial image influence strength (0-1000, default 300)
image_guidance_scaleNoSource image influence (default 3.0)

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description bears full burden. It discloses fixed size restrictions (16,32,64,128px) but does not elaborate on behavior of other parameters (e.g., init_image, mask_image) or output expectations. Partially transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loads purpose, then adds key constraints and alternatives. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 16 parameters and no output schema, description covers core purpose and alternatives but omits explanation of parameter combinations (e.g., view vs direction) and output format. Adequate but not rich.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, baseline 3 applies. Description adds only the fixed sizes constraint beyond schema descriptions. No additional semantics for other parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Rotate a single character sprite from one view/direction to another', specifying the verb and resource. It also distinguishes from siblings by directing to alternative tools for generating all 8 directions at once.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use (single sprite rotation) and when not to use (for all 8 directions, use generate_8_rotations or create_character_8dir). Provides clear context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

select_object_framesB

From an object that generated multiple candidate frames, keep specific frames (by 0-based index) as completed individual objects. Optionally tag all newly-created objects.

ParametersJSON Schema
NameRequiredDescriptionDefault
indicesYesFrame indices (0-based) to keep as completed individual objects
object_idYesID of the object whose frames to select
common_tagNoOptional tag applied to every newly-created object

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the full burden. It does not disclose whether the original object is modified or deleted, what permissions are needed, or what the return value is. It only mentions the action without side effects or requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with two clauses, no redundant words. It efficiently communicates the main purpose and optional feature.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's likely side effects (creating new objects) and lack of output schema, the description does not explain what happens to the original object, how many frames can be selected, or what the result looks like. Important operational context is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the description does not add meaning beyond what the input schema already provides. The description repeats the schema's framing (0-based indices, optional tag) but does not elaborate on parameter constraints or usage nuances.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states it keeps specific frames as completed individual objects from a multi-frame object, which is a specific verb-resource combination. It is distinct from sibling tools like create_object or animate_object, but the verb 'keep' is imprecise; 'select' or 'extract' would be clearer.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when an object has multiple candidate frames, but it does not explicitly state when to use this tool versus alternatives, nor when not to use it. No exclusions or alternative tool references are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_character_portraitA

Attach a bust portrait to a saved character (free — no generation runs). The portrait is the starting frame for talking animations: vocal_animation generates mouth positions from it. Overwrites any existing portrait. To generate a portrait from a full-body sprite first, use portrait_character_pro with direction='character_to_portrait'.

ParametersJSON Schema
NameRequiredDescriptionDefault
imageYesBust portrait image to attach
character_idYesCharacter ID

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, but the description discloses that the operation overwrites an existing portrait (destructive), is free (no generation runs), and that the portrait serves as the starting frame for talking animations. It doesn't mention error cases or permissions, but for a mutation tool, key side effects are addressed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with purpose, includes alternative tool reference. Every sentence adds value; nothing extraneous.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the schema is fully documented (100% coverage) and this is a simple attach operation, the description covers the key context: free operation, overwrite behavior, downstream use in vocal_animation, and the alternative generation tool. Lacks only minor details like response type or error handling, but acceptable for this tool's simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (both character_id and image are fully described). The description adds no parameter-specific details beyond the schema, but it explains the tool's purpose and relationship to vocal_animation, which helps context. Baseline 3 is appropriate since schema already handles parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool attaches a bust portrait to a saved character, with specific verb ('attach') and resource ('saved character'), and distinguishes it from portrait_character_pro by noting this is free with no generation runs. The sibling tool is explicitly named with direction parameter.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Description explains when to use it: attaching a portrait directly without generation. It also directs users to portrait_character_pro when they need to generate from a full-body sprite, giving an explicit alternative. It doesn't explicitly state when NOT to use it, but the contrast with the sibling covers the main ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

talking_gifA

Turn a line of text into an animated GIF of a character speaking it. Free — spends no generations; it only re-orders mouth positions already produced by vocal_animation. Provide either character_id (with mouth positions stored on the character) or supply visemes directly as returned by get_vocal_animation_job.

ParametersJSON Schema
NameRequiredDescriptionDefault
moodNoWhich stored expression to talk with (defaults to the character's first). Only valid with character_id
textYesThe line of dialogue to lip-sync. Mouth shapes are derived from the letters, so any language using the latin alphabet works
hold_msNoPause held on the closed mouth at the end, so a looping GIF has a beat between takes (default 600)
visemesNoSupply the mouth positions directly, as returned by get_vocal_animation_job (map of viseme name to image). Mutually exclusive with character_id
frame_msNoMilliseconds per mouth position (default 90)
character_idNoUse the mouth positions stored on this character. Mutually exclusive with visemes

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses a key behavioral trait: 'Free — spends no generations; it only re-orders mouth positions' — indicating this is a non-destructive, cost-free operation. It also clarifies the input dependency on pre-existing mouth data. However, it does not specify the return format (e.g., URL, base64) or whether the operation is synchronous, which are minor omissions given the tool likely returns a GIF URL.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the core purpose. The first sentence states exactly what the tool does; the second conveys cost and usage in one compact sentence. No redundancy or filler. It is highly concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (6 parameters, nested object for visemes) and no output schema, the description covers the essential inputs and the key behavioral context (free, uses existing mouth positions). It explains the two input pathways and the dependency on prior vocal_animation output. It omits the return format, but the description's mention of 'animated GIF' as the output gives sufficient context for an agent to proceed. Overall, it is complete enough for effective use without excessive ambiguity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds modest value by explaining the mutual exclusivity of character_id and visemes and pointing to the source of visemes (get_vocal_animation_job). It does not elaborate on individual parameter semantics beyond what the schema already provides (e.g., mood, hold_ms, frame_ms), so it meets the baseline but does not exceed it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action: 'Turn a line of text into an animated GIF of a character speaking it.' It clearly distinguishes the tool from siblings like vocal_animation (which generates mouth positions) and get_vocal_animation_job (which fetches visemes) by focusing on assembling a GIF from existing mouth data. The verb 'turn' and resource 'line of text' plus output 'animated GIF' make the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit when-to-use guidance: it's free and reuses mouth positions from vocal_animation, implying it should be used after obtaining those positions. It also gives concrete instructions on the two ways to supply input: 'Provide either character_id (with mouth positions stored on the character) or supply visemes directly as returned by get_vocal_animation_job.' This clarifies prerequisites and alternatives without requiring further research.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

transfer_outfitA

Transfer an outfit/costume from a reference image onto animation frames (2-16 frames, 32-256px). Use this to reskin an existing animation with a different character appearance.

ParametersJSON Schema
NameRequiredDescriptionDefault
seedNoSeed for deterministic generation (default 0)
framesYesAnimation frames (2-16) with dimensions
image_sizeYesOutput frame dimensions
no_backgroundNoGenerate with transparent background
reference_imageYesOutfit source image with dimensions

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Although no annotations exist, the description discloses frame count limits (2-16) and pixel size range (32-256px), adding behavioral context beyond the schema. It does not detail other behavioral traits like seed determinism or background handling, but covers key constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences: first states action and constraints, second states purpose. No redundancy, every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 5 parameters, nested objects, no output schema, and many siblings, the description covers core purpose and constraints. Lacks explanation of return value or process details, but is sufficient for an AI agent given the context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, baseline 3. The description adds the 32-256px size constraint not present in schema descriptions, providing additional value. It does not repeat schema parameter details, which is acceptable.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'transfer' and resource 'outfit/costume from reference image onto animation frames', clearly distinguishing it from siblings that generate or edit animations differently.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description states when to use: 'reskin an existing animation with a different character appearance'. It implies a specific use case, but does not explicitly exclude or compare to alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_character_tagsA

Update tags on a character (max 20 tags, 50 chars each).

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsYesTags to set
character_idYesCharacter ID

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses tag limits (max 20, 50 chars) but does not clarify whether tags are replaced or merged. With no annotations (like destructiveHint), the agent cannot determine side effects. The description partially compensates for missing annotations but lacks full behavioral detail.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that immediately conveys the action, resource, and constraints. Every word adds information; there is no redundant or irrelevant content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple update tool with 2 parameters and no output schema, the description is moderately complete. It includes key constraints but omits behavioral details like whether previous tags are overwritten or appended. Given the low complexity, it is near minimally viable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already describes both parameters (character_id, tags) with 100% coverage. The description adds value by specifying constraints on tags array (max 20 items, each max 50 characters), which are not present in the schema. This helps agents validate inputs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Update tags'), the resource ('a character'), and includes constraints ('max 20 tags, 50 chars each'). It effectively distinguishes from sibling tools like 'update_object_tags' by specifying the resource is a character.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention scenarios where other tag-related tools (e.g., 'update_object_tags') or character update tools would be preferred.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_object_tagsC

Update tags on an object.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsYesTags to set
object_idYesObject ID

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries the full burden. It does not disclose whether tags are replaced or merged, error handling for nonexistent objects, or side effects like overwriting existing tags.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence front-loading the purpose. It is efficient but could be slightly expanded to include key behavioral details without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the many sibling tools for objects, the description lacks context on what objects are affected, whether tags are appended or replaced, and error handling. No output schema to compensate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with clear param descriptions (Tags to set, Object ID). The tool description adds no additional meaning beyond what the schema already provides, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it updates tags on an object with a specific verb+resource. However, it does not differentiate from sibling tools like update_character_tags, though the name implies object-specific context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives, such as when to use update_character_tags for characters. No prerequisites or conditions for use are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vocal_animationA

Generate the set of mouth positions ('visemes') that lets a portrait be lip-synced to any line of text. This is the only talking-animation step that costs generations — pay it once per expression, then talking_gif and lip_sync are free and unlimited. Provide either character_id (uses the character's stored portrait, set via set_character_portrait, and saves the result onto it) or an inline portrait image (max 256x256, result returned inline). Returns a job_id — poll get_vocal_animation_job.

ParametersJSON Schema
NameRequiredDescriptionDefault
moodNoExpression held on the face throughout (default 'neutral'). Call once per expression you wantneutral
seedNoSeed for deterministic generation (default 0)
portraitNoGenerate from this image instead and store nothing — mouth positions come back inline. Max 256x256. Mutually exclusive with character_id
character_idNoGenerate from this character's stored portrait and save the result onto it. Required to later use character_id with talking_gif. Mutually exclusive with portrait
viseme_countNoHow many mouth positions to generate (default 7). 3 for tiny portraits, 12 for large close-ups. Must be the same for every expression on one character
no_backgroundNoReturn frames with a transparent background (default true)

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses the async behavior (returns a job_id to poll), the cost model (only step that costs generations), storage implications (saves result onto the character when using character_id), and size constraints (max 256x256). These go beyond the structured schema and provide key operational context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is four sentences, each earning its place: purpose, cost model, input options, and async result handling. It is front-loaded with the primary action and avoids fluff or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex async tool with two input modes, the description covers purpose, cost, prerequisites, input selection, storage behavior, and polling. It gives enough to safely invoke the tool even without prior knowledge of the talking-generation pipeline.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already describes all six parameters thoroughly (100% coverage), so the baseline is 3. The description adds meaningful context by explaining the mutual exclusivity of portrait and character_id, the save behavior of character_id, and the cost relationship to the mood parameter ('pay it once per expression'). It doesn't explain seed or viseme_count beyond schema, but those are well-defined in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Generate the set of mouth positions (visemes) that lets a portrait be lip-synced to any line of text.' It clearly distinguishes this from sibling tools like talking_gif and lip_sync by framing it as the generation step that makes those downstream tools possible.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use this tool: 'This is the only talking-animation step that costs generations — pay it once per expression, then talking_gif and lip_sync are free and unlimited.' It also gives guidance on choosing between character_id and inline portrait, and mentions that set_character_portrait is a prerequisite for the character_id path.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 5 tool updatesv1.7.0
    • Addedget_vocal_animation_job
    • Addedlip_sync
    • Addedset_character_portrait
    • Addedtalking_gif
    • Addedvocal_animation
  2. 84 tool updatesv1.6.0
    • First observedanimate_character
    • First observedanimate_object
    • First observedanimate_with_skeleton
    • First observedanimate_with_text
    • First observedanimate_with_text_v2
    • First observedanimate_with_text_v3
    • First observedcreate_character_4dir
    • First observedcreate_character_8dir
    • First observedcreate_character_animation
    • First observedcreate_character_pro
    • First observedcreate_character_state
    • First observedcreate_character_v3
    • First observedcreate_image_bitforge
    • First observedcreate_image_pixen
    • First observedcreate_image_pixflux
    • First observedcreate_image_pixflux_background
    • First observedcreate_isometric_tile
    • First observedcreate_map_object
    • First observedcreate_object_1dir
    • First observedcreate_object_8dir
    • First observedcreate_object_state
    • First observedcreate_tiles_pro
    • First observedcreate_tileset
    • First observedcreate_tileset_sidescroller
    • First observedcreate_ui_asset
    • First observeddelete_character
    • First observeddelete_character_animations
    • First observeddelete_isometric_tile
    • First observeddelete_object
    • First observeddelete_object_animations
    • First observeddelete_tiles_pro
    • First observeddelete_tileset
    • First observeddelete_tileset_sidescroller
    • First observeddelete_ui_asset
    • First observeddismiss_object_review
    • First observeddownload_character_zip
    • First observededit_animation
    • First observededit_image
    • First observededit_images
    • First observedenhance_animation_prompt
    • First observedenhance_character_prompt
    • First observedenhance_pixen_prompt
    • First observedestimate_skeleton
    • First observedgenerate_8_rotations
    • First observedgenerate_8_rotations_v3
    • First observedgenerate_font_pro
    • First observedgenerate_image
    • First observedgenerate_ui
    • First observedgenerate_with_style
    • First observedget_balance
    • First observedget_character
    • First observedget_font_pro_job
    • First observedget_isometric_tile
    • First observedget_job_status
    • First observedget_map_object
    • First observedget_object
    • First observedget_portrait_character_pro_job
    • First observedget_tiles_pro
    • First observedget_tileset
    • First observedget_tileset_sidescroller
    • First observedget_ui_asset
    • First observedimage_to_pixelart
    • First observedimage_to_pixelart_pro
    • First observedinpaint
    • First observedinpaint_v3
    • First observedinterpolate_frames
    • First observedlist_characters
    • First observedlist_isometric_tiles
    • First observedlist_job_history
    • First observedlist_objects
    • First observedlist_pending_jobs
    • First observedlist_tiles_pro
    • First observedlist_tilesets
    • First observedlist_tilesets_sidescroller
    • First observedlist_ui_assets
    • First observedportrait_character_pro
    • First observedread_image
    • First observedremove_background
    • First observedresize_image
    • First observedrotate
    • First observedselect_object_frames
    • First observedtransfer_outfit
    • First observedupdate_character_tags
    • First observedupdate_object_tags

TDQS

B3.2/5.0

Scored across 89 tools

Disambiguation2/5

Many tools overlap heavily: generate_image, generate_with_style, create_image_pixflux, create_image_bitforge, create_image_pixen, and image_to_pixelart_pro all create pixel art with only subtle differences. Character creation is split across create_character_4dir/8dir/v3/pro, and animation has animate_with_text_v1/v2/v3, animate_character, create_character_animation, plus multiple legacy versions explicitly flagged as 'prefer X instead' — an agent would struggle to pick the right tool consistently.

Naming Consistency3/5

There's a loose pattern of verb_noun (list_tilesets, delete_character) but it's frequently broken: create_image_pixflux vs generate_image, create_tiles_pro vs create_tileset, get_tiles_pro vs get_tileset, and delete_tiles_pro vs delete_tileset. Version suffixed tools (animate_with_text_v2/v3, generate_8_rotations_v3) add inconsistency. Some tools use get_*_job instead of the generic get_job_status. Overall readable but not predictable.

Tool Count2/5

89 tools is far beyond the typical well-scoped 3-15 range. While the server covers many domains (generation, animation, tiles, characters, UI, vocal), the sheer number — including multiple overlapping generators and legacy alternates — makes the surface feel bloated. Many tools could be consolidated or clearly deprecated.

Completeness5/5

The tool set is remarkably complete for pixel art creation: generation, editing, resizing, background removal, animation (text/keyframe/skeleton/template), characters (4dir/8dir/v3/pro/states), objects, tilesets (top-down/sidescroller/isometric/pro), UI assets, fonts, portraits, vocal lip-sync, and full CRUD with get/list/update/delete for each resource. Even advanced workflows like prompt enhancement and job recovery are covered. No obvious dead ends.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers