Optional providerProvider name (e.g. "openai", "stability", "stable-diffusion-local").
When omitted, auto-detection via env vars is attempted.
Optional modelModel identifier. Prefer the plain model name with provider set;
the combined "provider:model" string is also accepted. When omitted,
the provider's own edit default applies, not its text-to-image default:
OpenAI gpt-image-2.5-sunburst, Stability sd3.5-medium, Replicate
stability-ai/sdxl (or black-forest-labs/flux-fill-pro with a mask).
`"gpt-image-2.5-sunburst"` (with `provider: 'openai'`), `"sd3.5-medium"`
Source image as a base64 data URL, raw base64 string, Buffer,
local file path, or HTTP/HTTPS URL.
Text prompt describing the desired changes.
Optional maskOptional mask for inpainting. White pixels mark regions to be edited;
black pixels mark regions to keep. Accepts the same formats as image.
Optional modeEdit mode.
'img2img' (default) — prompt-guided transformation.'inpaint' — mask-guided regional editing.'outpaint' — extend image borders.Optional strengthHow much to deviate from the source image.
0 = identical, 1 = completely new. Default 0.75.
Optional negativeNegative prompt describing content to avoid.
Optional sizeOutput size (e.g. "1024x1024").
Optional seedSeed for reproducibility (provider-dependent support).
Optional nNumber of output images.
Optional apiOverride the provider API key instead of reading from env vars. Refused
when no provider is named (by provider, a model such as
'openai:gpt-image-2.5-sunburst' or the global default), and when the
model's provider: prefix names another provider than provider: it is
never sent to a provider the call did not name for it.
Optional baseOverride the provider base URL, refused where apiKey is. An empty or
whitespace-only value is unset: it is not refused, the global default's
URL and then the provider's base-URL variable apply as they do with no
baseUrl, and with none the edit goes to the provider's own endpoint.
Optional providerArbitrary provider-specific options.
Optional usageOptional usage ledger configuration.
Optional policyContent policy tier. When 'mature' or 'private-adult', the edit is
rerouted through PolicyAwareImageRouter to pick an uncensored
community model (e.g. IP-Adapter FaceID SDXL for face-consistent
edits, SDXL for generic img2img) and disable_safety_checker: true
is applied automatically to the Replicate request so the model's own
NSFW filter does not veto the prompt.
'safe' and 'standard' tiers fall back to whatever provider /
model the caller supplied (or env-detected defaults), keeping the
existing censored path intact.
Optional capabilitiesRequired provider capabilities for mature/private-adult routing.
Drives UncensoredModelCatalog filtering (the catalog interface is
exported from @framers/agentos/core/llm/routing/UncensoredModelCatalog),
so callers can ask for 'face-consistency' when editing a character's outfit, or
'img2img' when the source is a scene the author wants preserved.
Ignored for safe/standard tiers.
Options for an editImage call.
Example