> ## Documentation Index
> Fetch the complete documentation index at: https://docs.venice.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Mejora de prompts

> Reescribe automáticamente los prompts de generación y edición de imágenes con el parámetro enhance_prompt de Venice para añadir detalle visual clarificador y mejorar la calidad de la salida.

La mejora de prompts reescribe tu prompt antes de la generación o edición de imagen para añadir detalle visual clarificador, convirtiendo descripciones cortas o escasas en prompts más ricos que los modelos de imagen siguen de forma más fiable. Actívala estableciendo `enhance_prompt: true` en `POST /image/generate`, `POST /image/edit` o `POST /image/multi-edit`.

Para la generación de imágenes, esta es la misma mejora que impulsa la "varita mágica" en la aplicación web de Venice. Para las ediciones de imagen, un mejorador con conciencia visual usa la imagen o imágenes de entrada para clarificar tu instrucción de edición.

## Cuándo usarla

La mejora de prompts es más útil cuando:

* Tu prompt es corto (unas pocas palabras o una sola frase) y quieres que el modelo complete la composición, la iluminación y el ambiente.
* Estás construyendo un producto en el que los usuarios finales escriben prompts informales que se benefician de una expansión.
* Estás editando una imagen y quieres que la instrucción se reescriba con conciencia de su contenido visible.
* Quieres una salida más consistente y detallada sin escribir a mano prompts largos.

Si ya envías prompts largos y cuidadosamente elaborados, normalmente obtendrás un mejor control dejando la mejora desactivada.

## Paso 1: envía una solicitud con la mejora activada

Añade `enhance_prompt: true` a cualquier solicitud estándar de generación de imagen.

```bash theme={"system"}
curl https://api.venice.ai/api/v1/image/generate \
  -H "Authorization: Bearer $VENICE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "venice-sd35",
    "prompt": "a cabin in the woods",
    "enhance_prompt": true,
    "format": "webp"
  }'
```

Venice reescribe `"a cabin in the woods"` en un prompt más detallado, y luego usa el texto reescrito para la generación. El resto de la solicitud se comporta exactamente como una llamada de generación normal.

<Note>
  La mejora añade hasta \~30 segundos antes de que comience la generación, porque la reescritura la produce una llamada a un modelo aparte. Tenlo en cuenta en los timeouts del cliente.
</Note>

## Paso 2: lee el prompt mejorado desde la cabecera de la respuesta

Cuando se aplica una reescritura, Venice devuelve el prompt final codificado en URL en la cabecera de respuesta `x-venice-enhanced-prompt`. Decodifícala para ver, registrar o mostrar lo que realmente se envió al modelo de imagen.

<CodeGroup>
  ```python Python theme={"system"}
  import base64
  import os
  from urllib.parse import unquote

  import requests

  response = requests.post(
      "https://api.venice.ai/api/v1/image/generate",
      headers={
          "Authorization": f"Bearer {os.environ['VENICE_API_KEY']}",
          "Content-Type": "application/json",
      },
      json={
          "model": "venice-sd35",
          "prompt": "a cabin in the woods",
          "enhance_prompt": True,
          "format": "webp",
      },
  )

  data = response.json()

  enhanced = response.headers.get("x-venice-enhanced-prompt")
  if enhanced:
      print("Enhanced prompt:", unquote(enhanced))
  else:
      print("No enhancement was applied; original prompt was used.")

  image_bytes = base64.b64decode(data["images"][0])
  with open("output.webp", "wb") as f:
      f.write(image_bytes)
  ```

  ```javascript Node.js theme={"system"}
  import fs from "fs";

  const response = await fetch("https://api.venice.ai/api/v1/image/generate", {
    method: "POST",
    headers: {
      Authorization: `Bearer ${process.env.VENICE_API_KEY}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      model: "venice-sd35",
      prompt: "a cabin in the woods",
      enhance_prompt: true,
      format: "webp",
    }),
  });

  const data = await response.json();

  const enhanced = response.headers.get("x-venice-enhanced-prompt");
  if (enhanced) {
    console.log("Enhanced prompt:", decodeURIComponent(enhanced));
  } else {
    console.log("No enhancement was applied; original prompt was used.");
  }

  const imageBuffer = Buffer.from(data.images[0], "base64");
  fs.writeFileSync("output.webp", imageBuffer);
  ```
</CodeGroup>

La cabecera `x-venice-enhanced-prompt` solo está presente cuando realmente se generó y aplicó una reescritura. Si la mejora se omite o falla, la cabecera no aparece y se usa tu prompt original.

## Usar la mejora para editar imágenes

Los endpoints de edición utilizan un mejorador con conciencia visual que analiza la imagen o imágenes de entrada antes de reescribir la instrucción. Esto ayuda a convertir una solicitud corta como `"make it winter"` en una edición más específica preservando los sujetos y la composición relevantes.

Para una edición de una sola imagen, incluye `enhance_prompt` tanto en una solicitud JSON como en una multipart:

```bash theme={"system"}
curl https://api.venice.ai/api/v1/image/edit \
  -H "Authorization: Bearer $VENICE_API_KEY" \
  -H "Content-Type: application/json" \
  -o edited.png \
  -d '{
    "image": "https://example.com/cabin.jpg",
    "prompt": "make it winter",
    "enhance_prompt": true
  }'
```

Para multi-edit, usa el mismo parámetro con el array `images`:

```bash theme={"system"}
curl https://api.venice.ai/api/v1/image/multi-edit \
  -H "Authorization: Bearer $VENICE_API_KEY" \
  -H "Content-Type: application/json" \
  -o edited.png \
  -d '{
    "images": [
      "https://example.com/cabin.jpg",
      "https://example.com/snow-reference.jpg"
    ],
    "prompt": "make the first image match this winter atmosphere",
    "enhance_prompt": true
  }'
```

Ambos endpoints de edición devuelven la imagen editada como datos binarios. Al igual que con la generación, inspecciona y decodifica en URL `x-venice-enhanced-prompt` para ver la reescritura aplicada.

## Comportamiento

| Aspecto                            | Comportamiento                                                                                                                                                         |
| ---------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Endpoints admitidos                | `POST /image/generate`, `POST /image/edit` y `POST /image/multi-edit`                                                                                                  |
| Predeterminado                     | `enhance_prompt` es `false` por defecto; la mejora nunca ocurre a menos que la actives.                                                                                |
| Fail-open                          | Si la reescritura falla por cualquier motivo, la generación o edición continúa con tu prompt original. La solicitud no falla debido a la mejora.                       |
| Ediciones con conciencia de imagen | En las solicitudes de edición, el mejorador analiza la imagen o imágenes proporcionadas al reescribir la instrucción.                                                  |
| Límite de caracteres               | Para la generación, el prompt mejorado se trunca al `promptCharacterLimit` del modelo seleccionado (consulta la [API de Models](/api-reference/endpoint/models/list)). |
| Modo seguro                        | En las solicitudes de generación, se respeta `safe_mode` durante la mejora. Con `safe_mode: true`, la reescritura se mantiene SFW.                                     |
| Cabecera de respuesta              | Cuando se aplica, el prompt final se devuelve codificado en URL en `x-venice-enhanced-prompt`.                                                                         |

## Precios

La mejora de prompts se cobra como un recargo fijo de **\$0.04 por reescritura aplicada**, además del coste normal de generación de imagen.

Reglas de facturación:

* Solo se te cobra cuando realmente se genera y aplica una reescritura. Si la mejora se omite o falla-open a tu prompt original, no hay recargo.
* El recargo se factura en la vía de éxito de la imagen. Si la generación termina en una violación de contenido, la mejora no se cobra.
* Cuando solicitas varias imágenes con `variants`, la reescritura compartida se factura **como máximo una vez** por solicitud, no una vez por variante.

Consulta [Precios](/overview/pricing) para los costes base de la generación de imagen.

## Usar la mejora con variants

La mejora combina bien con `variants` al explorar una idea: se genera una reescritura y luego se reutiliza en cada variante, así pagas el recargo de \$0.04 una sola vez.

```bash theme={"system"}
curl https://api.venice.ai/api/v1/image/generate \
  -H "Authorization: Bearer $VENICE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "venice-sd35",
    "prompt": "a cabin in the woods",
    "enhance_prompt": true,
    "variants": 4
  }'
```

<Note>
  `variants` solo se admite cuando `return_binary` es `false`. Consulta [Generación de imágenes](/guides/media/image-generation) para más detalles.
</Note>

## Consejos para prompts

1. Mantén tu prompt de entrada centrado en el sujeto y en los detalles innegociables. La mejora rellena el estilo, la iluminación y la composición a su alrededor.
2. Registra la cabecera `x-venice-enhanced-prompt` durante el desarrollo para aprender qué añade la mejora y decidir cuándo prefieres escribir los prompts a mano.
3. Para obtener resultados de generación repetibles en un lote, genera una vez con la mejora, captura el prompt mejorado desde la cabecera y luego reutiliza ese texto exacto con `enhance_prompt` desactivado.
4. Para la generación de imágenes, combina el prompt capturado con un `seed` fijo para comparar otros cambios de parámetros sin volver a reescribir.

## Errores

La mejora en sí falla-open y no expone sus propios códigos de error. Los errores estándar de generación de imagen siguen aplicándose.

| Estado | Significado                                                            | Acción                                                                               |
| ------ | ---------------------------------------------------------------------- | ------------------------------------------------------------------------------------ |
| `400`  | Parámetros de solicitud no válidos                                     | Comprueba los nombres de campo, los tipos y las restricciones específicas del modelo |
| `401`  | Autenticación fallida o el modelo requiere un nivel de acceso superior | Comprueba tu API key y el acceso al modelo                                           |
| `402`  | Saldo insuficiente                                                     | Añade créditos en [venice.ai/settings/api](https://venice.ai/settings/api)           |
| `429`  | Límite de velocidad excedido o modelo sobrecargado                     | Reintenta con backoff; comprueba la cabecera `Retry-After`                           |
| `500`  | Procesamiento de inferencia fallido                                    | Reintenta la solicitud                                                               |
| `503`  | Modelo a capacidad máxima                                              | Reintenta tras una breve demora                                                      |

Consulta la referencia completa de [Códigos de error](/api-reference/error-codes) para más detalles.

## Relacionado

* [Generación de imágenes](/guides/media/image-generation) — la guía completa de generación, incluyendo tamaños, estilos y respuestas binarias.
* [Edición de imágenes](/guides/media/image-editing) — ediciones de una sola imagen, solicitudes multi-edit en capas y respuestas binarias.
* [Generar imágenes (referencia de la API)](/api-reference/endpoint/image/generate) — todos los campos de solicitud y respuesta para `POST /image/generate`.
* [Editar imagen (referencia de la API)](/api-reference/endpoint/image/edit) — campos de solicitud para `POST /image/edit`.
* [Multi-Edit de imagen (referencia de la API)](/api-reference/endpoint/image/multi-edit) — campos de solicitud para `POST /image/multi-edit`.
* [Modelos de imagen](/models/image) — lista de modelos, precios y `promptCharacterLimit` por modelo.
