Skip to main content
Glama

post-controlnet-inpaint-ip-adapter-inferences

Generate images by combining ControlNet guidance, inpainting with masks, and IPAdapter style/character references to modify specific areas while maintaining overall composition.

Instructions

Trigger a new image generation in ControlNet + Inpaint + IpAdapter mode. The control image is used to guide the generation; it can be a pose, canny map, or similar. The mask indicates the area to inpaint in the reference image, and the second reference image is used as an IPAdapter to guide the generation process.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
originalAssetsNoIf set to true, returns the original asset without transformation
dryRunNo
ipAdapterImageIdsNo
seedNoUsed to reproduce previous results. Default: randomly generated number.
strengthNoControls the noise intensity introduced to the input image, where a value of 1.0 completely erases the original image's details. Available for img2img and inpainting. (within [0.01, 1.0], default: 0.75)
modelIdYesThe model id to use for the inference
ipAdapterTypeNoThe type of IP Adapter model to use. Must be one of [`style`, `character`], default to `style``
ipAdapterImageNoDeprecated for type txt2img-ip-adapter and img2img-ip-adapter, use `ipAdapterImages` instead. The IpAdapter image as a data url. Will be ignored if the `ipAdapterImages` parameter is provided.
schedulerNoThe scheduler to use to override the default configured for the model. See detailed documentation for more details.
disableMergingNoIf set to true, the entire input image will likely change during inpainting. This results in faster inferences, but the output image will be harder to integrate if the input is just a small part of a larger image.
ipAdapterImagesNo
imageParentIdNoSpecifies the parent asset Id for the image when provided as a dataurl.
baseModelIdNoThe base model to use for the inference. Only Flux LoRA models can use this parameter. Allowed values are available in the model's attribute: `compliantModelIds`
heightNoThe height of the generated images, must be a 8 multiple (within [64, 2048], default: 512) If model.type is `sd-xl`, `sd-xl-lora`, `sd-xl-composition` the height must be within [512, 2048] If model.type is `sd-1_5`, the height must be within [64, 1024] If model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead
imageHideNoToggles the hidden status of the image when provided as a dataurl.
maskNoThe mask as a data URL, used to determine the area of change. The mask is a binary mask made out of white and black pixels. The white area is the one that will be replaced. (example: "data:image/png;base64,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")
controlImageIdNoThe controlnet input image as an AssetId. Will be ignored if the `controlnet` parameter is provided
imageNoThe input image as a data URL (example: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQYV2NgYAAAAAMAAWgmWQ0AAAAASUVORK5CYII=") or the asset ID (example: "asset_GTrL3mq4SXWyMxkOHRxlpw")
imageIdNoDeprecated: The input image as an AssetId. Prefer to use image with the asset ID instead.
ipAdapterImageIdNoDeprecated for type txt2img-ip-adapter and img2img-ip-adapter, use `ipAdapterImageIds` instead. The IpAdapter image as an AssetId. Cannot be set if `ipAdapterImage` is provided. Will be ignored if the `ipAdapterImageIds` parameter is provided.
ipAdapterScaleNoDeprecated for type txt2img-ip-adapter and img2img-ip-adapter, use `ipAdapterScales` instead. IpAdapter scale factor (within [0.0, 1.0], default: 0.9). Will be ignored if the `ipAdapterScales` parameter is provided
modelEpochNoThe epoch of the model to use for the inference. Only available for Flux Lora Trained models.
hideResultsNoIf set, generated assets will be hidden and not returned in the list of images of the inference or when listing assets (default: false)
ipAdapterScalesNo
maskIdNoThe mask as an AssetId. Will be ignored if the `image` parameter is provided
negativePromptNoThe prompt not to guide the image generation, ignored when guidance < 1 (example: "((ugly face))") For Flux based model (not Fast-Flux): requires negativePromptStrength > 0 and active only for inference types txt2img / img2img / controlnet.
intermediateImagesNoEnable or disable the intermediate images generation (default: false)
conceptsNo
controlImageNoThe controlnet input image as a data URL (example: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQYV2NgYAAAAAMAAWgmWQ0AAAAASUVORK5CYII=")
guidanceNoControls how closely the generated image follows the prompt. Higher values result in stronger adherence to the prompt. Default and allowed values depend on the model type: - For Flux dev models, the default is 3.5 and allowed values are within [0, 10] - For Flux pro models, the default is 3 and allowed values are within [2, 5] - For SDXL models, the default is 6 and allowed values are within [0, 20] - For SD1.5 models, the default is 7.5 and allowed values are within [0, 20]
numInferenceStepsNoThe number of denoising steps for each image generation (within [1, 150], default: 30)
numSamplesNoThe number of images to generate (within [1, 128], default: 4)
widthNoThe width of the generated images, must be a 8 multiple (within [64, 2048], default: 512) If model.type is `sd-xl`, `sd-xl-lora`, `sd-xl-composition` the width must be within [512, 2048] If model.type is `sd-1_5`, the width must be within [64, 1024] If model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead
negativePromptStrengthNoOnly applicable for flux-dev based models for `txt2img`, `img2img`, and `controlnet` inference types. Controls the influence of the negative prompt. Default 0 means the negative prompt has no effect. Higher values increase negative prompt influence. Must be > 0 if negativePrompt is provided.
promptYesFull text prompt including the model placeholder. (example: "an illustration of phoenix in a fantasy world, flying over a mountain, 8k, bokeh effect")
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 of behavioral disclosure. It describes the functional role of inputs (control image guides, mask indicates inpainting area, reference image guides via IpAdapter) but lacks critical behavioral details: it doesn't mention that this is a generative/mutation operation (implied by 'trigger'), doesn't specify permissions, rate limits, or what happens to existing assets. For a complex tool with 35 parameters, this is a significant gap.

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 appropriately concise (two sentences) and front-loaded with the core purpose. Every sentence adds value: the first states the action and mode, the second explains the three key input roles. There's no wasted verbiage, though it could be slightly more structured (e.g., bullet points for input roles).

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 (35 parameters, no annotations, no output schema), the description is inadequate. It doesn't cover behavioral aspects like mutation effects, error conditions, or output format. While the schema handles parameter details, the description fails to provide the holistic context needed for safe and effective use, especially for a generative tool with potential side effects.

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 high (86%), so the schema already documents most parameters well. The description adds minimal value beyond the schema: it explains the roles of control image, mask, and reference image, but doesn't clarify parameter interactions or provide examples beyond what's in schema descriptions. With high coverage, the baseline is 3, and the description doesn't significantly enhance parameter understanding.

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's purpose: 'Trigger a new image generation in ControlNet + Inpaint + IpAdapter mode.' It specifies the verb ('trigger'), resource ('image generation'), and mode, distinguishing it from simpler image generation tools. However, it doesn't explicitly differentiate from similar sibling tools like 'post-controlnet-inpaint-inferences' or 'post-controlnet-ip-adapter-inferences', which would require more specific comparison.

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 mentions the components (ControlNet, Inpaint, IpAdapter) but doesn't explain when this combined mode is preferable over using separate tools or other sibling tools like 'post-controlnet-inpaint-inferences'. Without such context, an agent must infer usage from the tool name alone.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/pasie15/scenario.com-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server