Skip to main content
POST
/api/v1/image/edit
This is an experimental endpoint and may be subject to change.
Pricing: Image editing pricing varies by model. The default model (firered-image-edit) is $0.04 per edit. See the Models endpoint for all available edit models and their pricing.

Quality Tiers

/image/edit does not accept a quality parameter, and sending one returns 400. Edits on this endpoint are billed at the model’s default tier (high for gpt-image-2-edit). To pick a tier (low, medium, high), use /image/multi-edit, which accepts quality on models that support it. Per-tier prices (1K/2K/4K × low/medium/high) live under model_spec.pricing.quality in the Models endpoint and are listed in the Pricing overview.

Postman Collection

For additional examples, please see this Postman Collection.
Content policies vary by edit model. Requests that violate the selected model’s policy are rejected.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

Edit an image based on the supplied prompt.

image
required

The image to edit. Can be either a file upload, 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.

prompt
string
required

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.

Required string length: 1 - 32768
Example:

"Change the color of the sky to a sunrise"

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 printable ASCII and must not contain ||.

Required string length: 1 - 128
Pattern: ^[\x20-\x7E]+$
Example:

"end-user-123"

aspect_ratio
enum<string>

The aspect ratio for the output image. Use 'auto' or omit this parameter to infer the closest supported aspect ratio from the input image when explicit sizing is required by the model. Supported values vary by model - check GET /api/v1/models for model-specific options.

Available options:
auto,
1:1,
3:2,
16:9,
21:9,
9:16,
2:3,
3:4,
4:3,
4:5
Example:

"16:9"

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.

Example:

false

enhance_prompt
boolean

Rewrite the edit prompt using the input image 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.

Example:

false

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.

Required string length: 1 - 10
Example:

"1K"

model
string
default:firered-image-edit

The model ID to use for image editing.

Minimum string length: 1
modelId
enum<string>
deprecated

Deprecated: Use "model" instead. The model ID to use for image editing.

Available options:
firered-image-edit,
qwen-edit-uncensored,
grok-imagine-edit,
grok-imagine-quality-edit,
grok-imagine-image-2-0-edit,
qwen-image-2-edit,
qwen-image-2-pro-edit,
wan-2-7-pro-edit,
flux-2-max-edit,
flux-3-image-edit,
gpt-image-2-5-flare-edit,
gpt-image-2-5-sunburst-edit,
gpt-image-2-edit,
gpt-image-1-5-edit,
ideogram-v4-5-edit,
nano-banana-2-edit,
nano-banana-2-1-edit,
nano-banana-pro-edit,
nano-banana-2-lite-edit,
luma-uni-1-edit,
luma-uni-1-max-edit,
muse-image-edit,
seedream-v5-lite-edit,
seedream-v5-pro-edit,
seedream-v4-edit,
qwen-image-3-edit,
qwen-image-3-pro-edit,
qwen-image-2-1-turbo-edit,
qwen-image-2-1-pro-edit
Minimum string length: 1
output_format
enum<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, or PNG at any resolution when transparent_background is true.

Available options:
jpeg,
png,
webp
Example:

"png"

safe_mode
boolean
default:true

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.

Example:

false

transparent_background
boolean

Return the edited image with a transparent background (alpha channel). Only supported by models with supportsTransparentBackground: true in their constraints (see GET /api/v1/models), and requires output_format png or webp when set; otherwise the request is rejected. Omit or set to false to keep the model default background.

Example:

false

Response

OK

The response is of type file.