Venice.ai · Schema
MultiEditImageRequest
Edit an image by compositing multiple layered input images (up to the per-model maximum) with a single prompt. Supports base64-encoded strings and URLs.
CompanyArtificial IntelligenceLLMImage GenerationVideo GenerationText-to-SpeechEmbeddingsPrivacyOpenAI-Compatiblex402
Properties
| Name | Type | Description |
|---|---|---|
| anon_user_id | string | Optional identifier for the API customer's end user. Combined with the Venice user id when attributing the request to upstream providers. Distinct from the discarded OpenAI `user` field. Must be print |
| aspect_ratio | string | The aspect ratio for the output image. Use 'auto' or omit this parameter to infer the closest supported aspect ratio from the first input image when explicit sizing is required by the model. |
| modelId | string | The model ID to use for multi-edit. |
| output_format | string | Output format for the edited image. Accepts jpeg, jpg, png, or webp. When omitted, the format is inferred from resolution: PNG for 1K edits and JPEG for 2K/4K edits. |
| prompt | string | The text directions to edit or modify the image. Short, descriptive prompts work best (e.g., "remove the tree", "change the sky to sunrise"). Character limit is model specific and is listed in the pro |
| images | array | Images used for multi-editing (minimum 1). The maximum is model-specific — see `capabilities.maxInputImages` from GET /api/v1/models. The first image is treated as the base image, and the remaining im |
| quality | string | Output quality for supported models (e.g. GPT Image 2 / GPT Image 2 Edit). Higher values can increase the final request charge. See the model list for supported options. |
| resolution | string | Resolution tier for the output image (e.g. "1K", "2K", "4K"). Supported values vary by model - check GET /api/v1/models for model-specific options. Defaults to "1K" when not specified. |
| safe_mode | boolean | Whether to blur images classified as adult content. Defaults to true. Set to false to receive unblurred output. No Pro subscription is required, and the mature filter setting in the Venice app does no |
| disable_prompt_optimization_thinking | boolean | Skip the model's prompt-optimization thinking step for faster generation. Only supported by models with `supportsOptimizePromptThinking`; ignored by others. Omit to use the model default. |
| enhance_prompt | boolean | Rewrite the edit prompt using the input images before editing to add clarifying detail. Additional credits are charged when a rewrite is generated. Adds up to ~30 seconds. When enhancement is applied, |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/venice-ai/main/json-schema/venice-ai-multi-edit-image-request-schema.json",
"title": "MultiEditImageRequest",
"description": "Edit an image by compositing multiple layered input images (up to the per-model maximum) with a single prompt. Supports base64-encoded strings and URLs.",
"x-generated": "2026-10-13",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/venice-ai-openapi.yml#/components/schemas/MultiEditImageRequest",
"type": "object",
"properties": {
"anon_user_id": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"pattern": "^[\\x20-\\x7E]+$",
"description": "Optional identifier for the API customer's end user. Combined with the Venice user id when attributing the request to upstream providers. Distinct from the discarded OpenAI `user` field. Must be printable ASCII and must not contain `||`."
},
"aspect_ratio": {
"type": "string",
"enum": [
"auto",
61,
182,
969,
1269,
556,
123,
184,
243,
245
],
"description": "The aspect ratio for the output image. Use 'auto' or omit this parameter to infer the closest supported aspect ratio from the first input image when explicit sizing is required by the model."
},
"modelId": {
"type": "string",
"minLength": 1,
"default": "firered-image-edit",
"description": "The model ID to use for multi-edit."
},
"output_format": {
"type": "string",
"enum": [
"jpeg",
"png",
"webp"
],
"description": "Output format for the edited image. Accepts jpeg, jpg, png, or webp. When omitted, the format is inferred from resolution: PNG for 1K edits and JPEG for 2K/4K edits."
},
"prompt": {
"type": "string",
"minLength": 1,
"maxLength": 32768,
"description": "The text directions to edit or modify the image. Short, descriptive prompts work best (e.g., \"remove the tree\", \"change the sky to sunrise\"). Character limit is model specific and is listed in the promptCharacterLimit setting in the model list endpoint."
},
"images": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"type": "string"
}
],
"description": "Image as a base64-encoded string or a URL starting with http:// or https://"
},
"minItems": 1,
"description": "Images used for multi-editing (minimum 1). The maximum is model-specific — see `capabilities.maxInputImages` from GET /api/v1/models. The first image is treated as the base image, and the remaining images are used as edit layers/masks. Each image can be a base64-encoded string or a URL starting with http:// or https://. Image dimensions must be at least 65536 pixels and must not exceed 33177600 pixels. File size must be less than 25MB."
},
"quality": {
"type": "string",
"enum": [
"low",
"medium",
"high"
],
"description": "Output quality for supported models (e.g. GPT Image 2 / GPT Image 2 Edit). Higher values can increase the final request charge. See the model list for supported options."
},
"resolution": {
"type": "string",
"minLength": 1,
"maxLength": 10,
"description": "Resolution tier for the output image (e.g. \"1K\", \"2K\", \"4K\"). Supported values vary by model - check GET /api/v1/models for model-specific options. Defaults to \"1K\" when not specified."
},
"safe_mode": {
"type": "boolean",
"default": true,
"description": "Whether to blur images classified as adult content. Defaults to true. Set to false to receive unblurred output. No Pro subscription is required, and the mature filter setting in the Venice app does not affect this. The x-venice-is-blurred response header reports whether the returned image was blurred."
},
"disable_prompt_optimization_thinking": {
"type": "boolean",
"description": "Skip the model's prompt-optimization thinking step for faster generation. Only supported by models with `supportsOptimizePromptThinking`; ignored by others. Omit to use the model default."
},
"enhance_prompt": {
"type": "boolean",
"description": "Rewrite the edit prompt using the input images before editing to add clarifying detail. Additional credits are charged when a rewrite is generated. Adds up to ~30 seconds. When enhancement is applied, the final prompt is returned URL-encoded in the `x-venice-enhanced-prompt` response header. Defaults to false."
}
},
"required": [
"prompt",
"images"
],
"additionalProperties": false
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/venice-ai-multi-edit-image-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.