Skip to main content
Glama

Remove an object from an image

ideogram_remove_object

Delete an unwanted object from an image by marking it with a white mask, then fill the gap with context-aware content.

Instructions

Remove a masked object from an image (white in the mask = remove) and fill the gap. Needs the source and a mask of the same size, each a local file, a public https URL or an Ideogram asset. Results are saved to the output directory; ideogram_quote prices a call first (nothing is generated).

Input Schema

NameRequiredDescriptionDefault
maskNoLocal mask image file or a public https URL, the same size as the source
seedNoRandom seed for a reproducible result
imageNoLocal image file to work on, or a public https URL of one
modelNoThe model (default ideogram-1); each takes the fields of its variant below
wait_sNoSeconds to wait for the result (0-50, default 45). The job is accepted first; if it is still running when the wait ends, the result is its generation_id for ideogram_generation (never resubmitted, never billed twice).
store_assetsNoKeep the result on Ideogram as an asset (accepted by the API, not yet enforced by it)
inline_imagesNotrue: each saved image is also returned as image content (base64; one over 3.75 MB, or past 10 MB in total, by path only), for a client without file access
mask_asset_identifierNoAn Ideogram asset to use as the mask
image_asset_identifierNoAn Ideogram asset (an upload or an earlier result) instead of a local image

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv2.5.0

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 the full burden. It usefully discloses the mask convention, that results land in the output directory, and that ideogram_quote prices a call without generating. It omits billing/auth implications of the real call, failure behavior, and async polling expectations beyond what the schema already states for wait_s.

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 tight sentences, front-loaded with the core action and mask convention, followed by required inputs and output/pricing behavior. No filler; every clause carries a fact the agent needs.

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 9-parameter, no-output-schema tool, the description covers the essential mechanics: mask semantics, accepted input forms, output location, and pricing path. Remaining gaps (error handling, cost of the billed call, async polling) are partially covered by the schema's wait_s description, so the definition is largely self-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%, so baseline is 3. The description does add genuinely schema-absent detail — the white-equals-remove mask convention and the same-size constraint between mask and source — but otherwise the per-parameter meaning is already fully documented 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?

States a specific verb and resource ('Remove a masked object from an image') and adds the operating convention (white in the mask = remove, fill the gap). The masked-object mechanism implicitly distinguishes it from siblings like ideogram_remove_background or ideogram_inpaint without needing to name them.

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?

Points the agent to ideogram_quote for pricing and clarifies the input requirements (source + same-size mask, local/URL/asset), which is useful routing. However, it never says when to choose this over closely related siblings such as ideogram_inpaint, ideogram_remove_background, or ideogram_edit, leaving the primary selection decision to inference.

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