Skip to main content
Glama

post-img2img-ip-adapter-inferences

Generate new images by combining an initial image with reference images using IP Adapter models for style or character adaptation.

Instructions

Trigger a new image generation in Img2Img + IpAdapter mode. The first image is used to initialize the generation, and the second reference image is used as an IPAdapter.

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.
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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")
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
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?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool triggers a 'new image generation', implying a write/mutation operation, but doesn't clarify permissions, rate limits, costs, or what happens to input images. It mentions the two-image process but lacks details on output format, error handling, or performance characteristics. For a complex 32-parameter mutation tool, 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?

The description is concise and front-loaded, consisting of two clear sentences that immediately convey the core functionality. Every sentence earns its place: the first states the action and mode, the second explains the two-image roles. There's no redundant or verbose phrasing, making it efficient for quick 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 (32 parameters, mutation operation, no annotations, no output schema), the description is incomplete. It doesn't address critical context like what the tool returns (e.g., generated images, job IDs), error conditions, or how it fits into a broader workflow. For a sophisticated image generation tool with many parameters, more guidance on typical use cases and output expectations 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 description coverage is high at 84%, establishing a baseline of 3. The description adds minimal parameter semantics beyond the schema, only clarifying that the first image initializes generation and the second serves as an IPAdapter reference. It doesn't explain how parameters like 'strength' or 'ipAdapterScale' interact in this specific mode, nor does it provide examples or contextual tips for parameter selection.

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 Img2Img + IpAdapter mode.' It specifies the verb ('trigger'), resource ('image generation'), and mode ('Img2Img + IpAdapter'), distinguishing it from generic image generation tools. However, it doesn't explicitly differentiate from similar siblings like 'post-img2img-inferences' or 'post-txt2img-ip-adapter-inferences' beyond mentioning the mode.

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 minimal usage guidance. It explains the role of the two images (first for initialization, second as IPAdapter reference) but offers no explicit advice on when to use this tool versus alternatives like 'post-img2img-inferences' or 'post-controlnet-ip-adapter-inferences'. There's no mention of prerequisites, constraints, or typical scenarios for choosing this specific mode.

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