> ## 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.

# Aprimoramento de prompt

> Reescreva automaticamente prompts de geração e edição de imagens com o parâmetro enhance_prompt da Venice para adicionar detalhes visuais esclarecedores e melhorar a qualidade do resultado.

O aprimoramento de prompt reescreve seu prompt antes da geração ou edição de imagens para adicionar detalhes visuais esclarecedores, transformando descrições curtas ou esparsas em prompts mais ricos que os modelos de imagem seguem com mais consistência. Ative-o definindo `enhance_prompt: true` em `POST /image/generate`, `POST /image/edit` ou `POST /image/multi-edit`.

Para geração de imagens, este é o mesmo aprimoramento que alimenta a "varinha mágica" no aplicativo web da Venice. Para edições de imagem, um aprimorador com percepção visual usa a imagem ou imagens de entrada para esclarecer sua instrução de edição.

## Quando usar

O aprimoramento de prompt é mais útil quando:

* Seu prompt é curto (poucas palavras ou uma única frase) e você quer que o modelo preencha composição, iluminação e clima.
* Você está construindo um produto no qual usuários finais digitam prompts casuais que se beneficiam de expansão.
* Você está editando uma imagem e quer que a instrução seja reescrita com percepção do conteúdo visível.
* Você quer saídas mais consistentes e detalhadas sem escrever manualmente prompts longos.

Se você já envia prompts longos e cuidadosamente elaborados, normalmente terá melhor controle deixando o aprimoramento desativado.

## Passo 1: Envie uma requisição com o aprimoramento ativado

Adicione `enhance_prompt: true` a qualquer requisição padrão de geração de imagem.

```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"
  }'
```

A Venice reescreve `"a cabin in the woods"` em um prompt mais detalhado e, em seguida, usa o texto reescrito para a geração. O restante da requisição se comporta exatamente como uma chamada de geração normal.

<Note>
  O aprimoramento adiciona até \~30 segundos antes de a geração começar, porque a reescrita é produzida por uma chamada de modelo separada. Leve isso em conta nos timeouts do cliente.
</Note>

## Passo 2: Leia o prompt aprimorado no cabeçalho da resposta

Quando uma reescrita é aplicada, a Venice retorna o prompt final codificado em URL no cabeçalho de resposta `x-venice-enhanced-prompt`. Decodifique-o para ver, registrar ou exibir o que foi efetivamente enviado ao modelo de imagem.

<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>

O cabeçalho `x-venice-enhanced-prompt` só está presente quando uma reescrita foi efetivamente gerada e aplicada. Se o aprimoramento for ignorado ou falhar, o cabeçalho fica ausente e seu prompt original é usado.

## Usando aprimoramento para edições de imagem

Os endpoints de edição usam um aprimorador com percepção visual que analisa a imagem ou imagens de entrada antes de reescrever a instrução. Isso ajuda a transformar uma solicitação curta como `"make it winter"` em uma edição mais específica, preservando sujeitos e composição relevantes.

Para uma edição de imagem única, inclua `enhance_prompt` em uma requisição JSON ou 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, use o mesmo parâmetro com o 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 os endpoints de edição retornam a imagem editada como dados binários. Assim como na geração, inspecione e decodifique via URL o `x-venice-enhanced-prompt` para ver a reescrita aplicada.

## Comportamento

| Aspecto                         | Comportamento                                                                                                                                               |
| ------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Endpoints suportados            | `POST /image/generate`, `POST /image/edit` e `POST /image/multi-edit`                                                                                       |
| Padrão                          | `enhance_prompt` tem valor padrão `false`; o aprimoramento nunca acontece a menos que você opte por ele.                                                    |
| Fail-open                       | Se a reescrita falhar por qualquer motivo, a geração ou edição continua com seu prompt original. A requisição não retorna erro por causa do aprimoramento.  |
| Edições com percepção de imagem | Em requisições de edição, o aprimorador analisa a imagem ou imagens fornecidas ao reescrever a instrução.                                                   |
| Limite de caracteres            | Para geração, o prompt aprimorado é truncado ao `promptCharacterLimit` do modelo selecionado (veja a [API de Models](/api-reference/endpoint/models/list)). |
| Safe mode                       | Em requisições de geração, `safe_mode` é respeitado durante o aprimoramento. Com `safe_mode: true`, a reescrita permanece SFW.                              |
| Cabeçalho de resposta           | Quando aplicado, o prompt final é retornado codificado em URL em `x-venice-enhanced-prompt`.                                                                |

## Preços

O aprimoramento de prompt é cobrado como uma sobretaxa fixa de **\$0,04 por reescrita aplicada**, além do custo normal de geração de imagem.

Regras de cobrança:

* Você só é cobrado quando uma reescrita é efetivamente gerada e aplicada. Se o aprimoramento for ignorado ou falhar de forma aberta para seu prompt original, não há sobretaxa.
* A sobretaxa é cobrada no caminho de sucesso da imagem. Se a geração terminar em violação de conteúdo, o aprimoramento não é cobrado.
* Quando você solicita múltiplas imagens com `variants`, a reescrita compartilhada é cobrada **no máximo uma vez** por requisição, e não uma vez por variante.

Veja [Preços](/overview/pricing) para os custos-base de geração de imagens.

## Usando aprimoramento com variants

O aprimoramento combina bem com `variants` ao explorar uma ideia: uma reescrita é gerada e, em seguida, reutilizada em cada variante, de modo que você paga a sobretaxa de \$0,04 uma única 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` só é suportado quando `return_binary` é `false`. Veja [Geração de imagens](/guides/media/image-generation) para detalhes.
</Note>

## Dicas de prompt

1. Mantenha seu prompt de entrada focado no sujeito e em quaisquer detalhes inegociáveis. O aprimoramento preenche estilo, iluminação e composição ao redor dele.
2. Registre o cabeçalho `x-venice-enhanced-prompt` durante o desenvolvimento para aprender o que o aprimoramento adiciona e decidir quando você preferiria escrever os prompts manualmente.
3. Para resultados de geração repetíveis em um lote, gere uma vez com aprimoramento, capture o prompt aprimorado a partir do cabeçalho e depois reutilize esse texto exato com `enhance_prompt` desativado.
4. Para geração de imagens, combine o prompt capturado com um `seed` fixo para comparar outras mudanças de parâmetros sem gerar nova reescrita.

## Erros

O próprio aprimoramento falha de forma aberta e não expõe seus próprios códigos de erro. Os erros padrão de geração de imagem continuam se aplicando.

| Status | Significado                                                         | Ação                                                                          |
| ------ | ------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
| `400`  | Parâmetros de requisição inválidos                                  | Verifique nomes de campos, tipos e restrições específicas do modelo           |
| `401`  | Falha de autenticação ou o modelo exige um tier de acesso mais alto | Verifique sua chave de API e o acesso ao modelo                               |
| `402`  | Saldo insuficiente                                                  | Adicione créditos em [venice.ai/settings/api](https://venice.ai/settings/api) |
| `429`  | Limite de taxa excedido ou modelo sobrecarregado                    | Tente novamente com backoff; verifique o cabeçalho `Retry-After`              |
| `500`  | Falha no processamento da inferência                                | Tente novamente                                                               |
| `503`  | Modelo em capacidade máxima                                         | Tente novamente após um pequeno atraso                                        |

Veja a referência completa de [Códigos de erro](/api-reference/error-codes) para detalhes.

## Relacionados

* [Geração de imagens](/guides/media/image-generation) — o guia completo de geração, incluindo dimensionamento, estilos e respostas binárias.
* [Edição de imagens](/guides/media/image-editing) — edições de imagem única, requisições multi-edit em camadas e respostas binárias.
* [Gerar imagens (referência da API)](/api-reference/endpoint/image/generate) — todos os campos de requisição e resposta para `POST /image/generate`.
* [Editar imagem (referência da API)](/api-reference/endpoint/image/edit) — campos de requisição para `POST /image/edit`.
* [Multi-Edit de imagem (referência da API)](/api-reference/endpoint/image/multi-edit) — campos de requisição para `POST /image/multi-edit`.
* [Modelos de imagem](/models/image) — lista de modelos, preços e `promptCharacterLimit` por modelo.
