Skip to main content
Prompt enhancement rewrites your prompt before image generation or editing to add clarifying visual detail, turning short or sparse descriptions into richer prompts that image models follow more reliably. Enable it by setting enhance_prompt: true on POST /image/generate, POST /image/edit, or POST /image/multi-edit. For image generation, this is the same enhancement that powers the “magic wand” in the Venice web app. For image edits, a vision-aware enhancer uses the input image or images to clarify your edit instruction.

When to use it

Prompt enhancement is most useful when:
  • Your prompt is short (a few words or a single phrase) and you want the model to fill in composition, lighting, and mood.
  • You’re building a product where end users type casual prompts that benefit from expansion.
  • You’re editing an image and want the instruction rewritten with awareness of its visible content.
  • You want more consistent, detailed output without hand-writing long prompts.
If you already send long, carefully crafted prompts, you’ll usually get better control by leaving enhancement off.

Step 1: Send a request with enhancement enabled

Add enhance_prompt: true to any standard image generation request.
Venice rewrites "a cabin in the woods" into a more detailed prompt, then uses the rewritten text for generation. The rest of the request behaves exactly like a normal generation call.
Enhancement adds up to ~30 seconds before generation starts, because the rewrite is produced by a separate model call. Account for this in client timeouts.

Step 2: Read the enhanced prompt from the response header

When a rewrite is applied, Venice returns the final prompt URL-encoded in the x-venice-enhanced-prompt response header. Decode it to see, log, or display what was actually sent to the image model.
The x-venice-enhanced-prompt header is only present when a rewrite was actually generated and applied. If enhancement is skipped or fails, the header is absent and your original prompt is used.

Using enhancement for image edits

The edit endpoints use a vision-aware enhancer that analyzes the input image or images before rewriting the instruction. This helps turn a short request such as "make it winter" into a more specific edit while preserving relevant subjects and composition. For a single-image edit, include enhance_prompt in either a JSON or multipart request:
For multi-edit, use the same parameter with the images array:
Both edit endpoints return the edited image as binary data. As with generation, inspect and URL-decode x-venice-enhanced-prompt to see the applied rewrite.

Behavior

Pricing

Prompt enhancement is charged as a flat surcharge of $0.04 per applied rewrite, on top of the normal image generation cost. Billing rules:
  • You are only charged when a rewrite is actually generated and applied. If enhancement is skipped or fails open to your original prompt, there is no surcharge.
  • The surcharge is billed on the image success path. If the generation ends in a content violation, the enhancement is not charged.
  • When you request multiple images with variants, the shared rewrite is billed at most once per request, not once per variant.
See Pricing for image generation base costs.

Using enhancement with variants

Enhancement pairs well with variants when exploring an idea: one rewrite is generated, then reused across every variant, so you pay the $0.04 surcharge a single time.
variants is only supported when return_binary is false. See Image Generation for details.

Prompting tips

  1. Keep your input prompt focused on the subject and any non-negotiable details. Enhancement fills in style, lighting, and composition around it.
  2. Log the x-venice-enhanced-prompt header during development so you can learn what enhancement adds and decide when you’d rather write prompts by hand.
  3. For repeatable generation results across a batch, generate once with enhancement, capture the enhanced prompt from the header, then reuse that exact text with enhance_prompt off.
  4. For image generation, combine the captured prompt with a fixed seed to compare other parameter changes without re-rewriting.

Errors

Enhancement itself fails open and does not surface its own error codes. Standard image generation errors still apply. See the full Error Codes reference for details.