/image/generate e receba sua imagem na mesma resposta, seja como base64 dentro de JSON ou como binário cru quando return_binary for true.
Endpoints
Passo 1: Envie uma requisição de geração
O dimensionamento é específico do modelo. Alguns modelos aceitamwidth e height explícitos; alguns expõem aspect_ratio; e modelos com tiers de resolução expõem aspect_ratio mais valores de resolution como 1K, 2K ou 4K.
Exemplo de dimensionamento por pixels:
images contém dados de imagem codificados em base64. Decodifique o primeiro item para salvá-lo ou exibi-lo. timing.total é a duração total da requisição em milissegundos.
Passo 2: Decodifique e salve a imagem
Passo 3: Retorne binário em vez de JSON (opcional)
Se você quer que o corpo da resposta seja o próprio arquivo de imagem, definareturn_binary: true. Isso é útil quando você quer fazer streaming ou salvar a imagem diretamente sem decodificação de base64.
return_binary é true, o corpo da resposta é dado bruto image/jpeg, image/png ou image/webp com base no format que você solicitou.
variants é suportado apenas quando return_binary é false.Passo 4: Liste estilos de imagem disponíveis (opcional)
Se quiser usarstyle_preset, primeiro busque os estilos disponíveis em /image/styles:
data, não no nível superior — leia response.data em vez de iterar diretamente sobre o objeto da resposta.
Depois, passe um desses valores na sua requisição de geração:
Parâmetros da requisição
A validação é específica do modelo. Verifique Modelos de imagem e a API de Models antes de depender de um parâmetro em vários modelos.
Opções específicas de modelo
Geração em alta resolução
Alguns modelos de imagem suportamaspect_ratio sem um tier resolution selecionável. Por exemplo, qwen-image-2 aceita aspect ratio e mapeia para dimensões de saída específicas do modelo:
aspect_ratio mais um tier resolution. Por exemplo, gpt-image-2, nano-banana-2 e nano-banana-pro suportam 1K, 2K e 4K:
Intensidade de LoRA
Alguns modelos de imagem aplicam LoRAs adicionais.lora_strength (integer, de 0 a 100) define a intensidade com que eles são aplicados e só afeta os modelos que os utilizam.
A API não aceita arquivos LoRA personalizados, e nenhum endpoint lista os LoRAs que um modelo usa. lora_strength é o único controle de LoRA.
Conteúdo adulto e safe mode
safe_mode controla se o conteúdo adulto na saída da geração é borrado. O padrão é true, então imagens classificadas como adultas voltam borradas, a menos que você envie safe_mode: false:
safe_mode: false. Exemplos na página de preços incluem lustify-sdxl, lustify-v7 e lustify-v8. Veja Modelos de imagem e Preços para a lista atual e os custos por modelo.
Para edição de imagens existentes, o modelo de edição padrão é firered-image-edit. As políticas de conteúdo variam conforme o modelo de edição; se você precisa de edição sem censura, use qwen-edit-uncensored via Edição de imagem.
Quando safe_mode está habilitado e o modelo retorna saída borrada ou moderada, inspecione os cabeçalhos de resposta x-venice-is-blurred e x-venice-is-content-violation se precisar detectar isso programaticamente.
Usando um app de terceiros? Imagens adultas permanecem borradas, a menos que o app envie
safe_mode: false, ou moderation: "low" no endpoint compatível com OpenAI (veja abaixo).Presets de estilo
Se o modelo selecionado suportar,style_preset permite guiar a saída sem reescrever todo o prompt. Você pode buscar nomes de preset válidos em Image Styles:
Referências de estilo
style_references vai um passo além de style_preset: em vez de um preset nomeado, ele condiciona a geração a uma ou mais imagens de referência. Cada entrada tem um image e um strength opcional:
O suporte varia por modelo. Verifique
GET /models?type=image:
model_spec.supportsStyleReferencesétrueapenas nos modelos que aceitam o campo.model_spec.constraints.maxStyleReferencesé o número de entradas que o modelo aceita.model_spec.constraints.supportsStyleReferenceStrengthindica sestrengthtem algum efeito.
style_references para um modelo sem suporte retorna 400, assim como exceder o limite desse modelo ou enviar uma referência corrompida, inacessível ou grande demais. Alguns modelos cobram uma taxa de referência de estilo por imagem retornada, além do preço base da imagem, por exemplo Krea v2 Large e Krea v2 Medium. A taxa só é cobrada pelas imagens efetivamente retornadas. Veja Modelos de imagem para os preços base por imagem.
Resultados parciais de variantes
Comvariants maior que 1, variantes individuais podem ser rejeitadas pela política de conteúdo do provedor enquanto as demais são geradas com sucesso. Nesse caso, o endpoint ainda retorna 200 com menos imagens do que você solicitou:
- Quando uma ou mais variantes são omitidas, o corpo JSON inclui
content_policy_violation_count, o número de variantes omitidas. - O cabeçalho de resposta
x-venice-content-violation-counttraz a mesma contagem. x-venice-is-content-violationex-venice-is-blurreddescrevem as imagens que foram retornadas.
422. Não presuma que len(images) == variants; compare o tamanho do array com variants e, quando presente, verifique content_policy_violation_count.
Endpoint compatível com OpenAI
Se você já está usando SDKs de imagem da OpenAI ou integrações DALL-E existentes, a Venice também suportaPOST /images/generations. Ele oferece um formato de requisição mais simples, mas com menos recursos do que o endpoint nativo da Venice.
Requisição:
size se aplica apenas a modelos dimensionados por pixels, que têm um widthHeightDivisor acima de 1 em model_spec.constraints de GET /models?type=image. A maioria dos modelos, incluindo qwen-image-2, dimensiona a saída por proporção e resolução e ignora size.
Alguns parâmetros da OpenAI são aceitos por compatibilidade com SDKs, mas são ignorados (n é restrito a 1):
Não há controle de tier nesta rota: não existe campo
resolution ou aspect_ratio, e quality não pode aumentar nem reduzir a cobrança. Para modelos GPT Image com tiers, use o endpoint nativo /image/generate quando precisar escolher quality, resolution ou aspect_ratio.
Use a rota compatível com OpenAI para migrações mais rápidas. Use /image/generate quando precisar de opções específicas da Venice, como cfg_scale, style_preset, style_references, variants ou respostas binárias.
Controlando o embaçamento de conteúdo adulto em /images/generations
O endpoint compatível com OpenAI não aceita safe_mode. Enviá-lo retorna 400 com Unrecognized key(s) in object: 'safe_mode'. Use o parâmetro moderation no estilo OpenAI:
safe_mode funciona apenas no endpoint nativo POST /image/generate. moderation funciona apenas no endpoint compatível com OpenAI POST /images/generations.
A mesma divisão se aplica à transparência: /image/generate usa transparent_background: true, enquanto /images/generations usa o parâmetro no estilo OpenAI background: "transparent". Ambos exigem um formato de saída png ou webp e um modelo com supportsTransparentBackground: true. Veja Imagens com fundo transparente.
Dicas de prompting
- Comece com o sujeito, depois adicione meio, iluminação, composição e atmosfera.
- Coloque detalhes a evitar em
negative_promptem vez de sobrecarregar o prompt principal. - Reutilize
seedao iterar para comparar mudanças de prompt sem alterar totalmente a composição. - Mantenha o dimensionamento ciente do modelo. Alguns modelos usam
width/height, alguns usamaspect_ratioe modelos com tier de resolução usamaspect_ratiomaisresolution. - Use
variantsdurante a exploração e depois volte para uma única saída quando tiver travado a direção.
Erros
Quando
safe_mode está habilitado (ou moderation é auto), inspecione cabeçalhos de resposta como x-venice-is-blurred e x-venice-is-content-violation se precisar detectar resultados de moderação programaticamente.