Saltar al contenido principal
La edición de imágenes en Venice es síncrona. Envía tu imagen fuente a /image/edit o /image/multi-edit y el resultado editado vuelve en la misma respuesta como archivo PNG. Para recortes, /image/background-remove devuelve un PNG transparente.
Los endpoints de edición de imagen son experimentales y el comportamiento específico del modelo puede cambiar con el tiempo.

Endpoints

EndpointPropósitoMejor para
POST /image/editEdita una sola imagen con un promptEdits generales e inpainting con prompt
POST /image/multi-editEdita usando 1-3 imágenes en capasEdits más controlados con máscaras u overlays
POST /image/background-removeElimina el fondo de una imagenRecortes transparentes para productos, retratos y activos

Cuándo usar cada endpoint

  • Usa /image/edit cuando tienes una imagen fuente y quieres cambiar, eliminar o restilizar parte de ella con un prompt.
  • Usa /image/multi-edit cuando necesitas más control mediante máscaras, overlays o capas de referencia.
  • Usa /image/background-remove cuando solo quieres un sujeto en primer plano limpio con transparencia.
Para inpainting, usa /image/edit o /image/multi-edit. El antiguo parámetro inpaint en /image/generate está deprecado.

Paso 1: edita una sola imagen

La edición de imagen única es el flujo más simple de inpainting. Envía una imagen más un prompt corto como “remove the sign”, “change the sky to sunrise” o “replace the background with a studio backdrop”. Solicitud:
POST https://api.venice.ai/api/v1/image/edit
Authorization: Bearer $VENICE_API_KEY
Content-Type: application/json

{
  "model": "qwen-edit",
  "prompt": "Replace the cloudy sky with a warm sunrise while preserving the buildings and canal",
  "image": "https://example.com/venice-canal.jpg"
}
Respuesta (200): El cuerpo de la respuesta es datos binarios en bruto image/png. Guárdalos directamente en un archivo.
import base64
import os
import requests

with open("input.jpg", "rb") as f:
    image_base64 = base64.b64encode(f.read()).decode("utf-8")

response = requests.post(
    "https://api.venice.ai/api/v1/image/edit",
    headers={
        "Authorization": f"Bearer {os.environ['VENICE_API_KEY']}",
        "Content-Type": "application/json",
    },
    json={
        "model": "qwen-edit",
        "prompt": "Remove the tourist crowd from the square and keep the architecture intact",
        "image": image_base64,
    },
)

with open("edited.png", "wb") as f:
    f.write(response.content)

Paso 2: usa multi-edit para máscaras o inpainting en capas

/image/multi-edit acepta hasta tres imágenes. La primera imagen es la imagen base. Las imágenes restantes se tratan como capas de edición o máscaras, lo que te da más control que la edición solo con prompt. Es la mejor elección cuando quieres:
  • apuntar a una región específica con una máscara
  • combinar una composición existente con un overlay
  • restringir la edición más estrechamente de lo que puede hacer un prompt en una sola imagen
Solicitud JSON:
{
  "modelId": "qwen-edit",
  "prompt": "Replace the blank billboard area with a glowing Venice film festival poster while preserving lighting and perspective",
  "images": [
    "https://example.com/street-scene.png",
    "https://example.com/billboard-mask.png"
  ]
}
Solicitud multipart:
curl https://api.venice.ai/api/v1/image/multi-edit \
  -H "Authorization: Bearer $VENICE_API_KEY" \
  -F "modelId=qwen-edit" \
  -F "prompt=Replace the blank billboard area with a glowing Venice film festival poster while preserving lighting and perspective" \
  -F "[email protected]" \
  -F "[email protected]" \
  -o multi-edited.png
Al igual que /image/edit, el cuerpo de la respuesta es datos image/png en bruto.
/image/multi-edit usa actualmente el campo modelId en lugar de model en el esquema de la solicitud.

Consejos para inpainting

El inpainting basado en prompt funciona mejor cuando la instrucción es corta y local:
  • remove the tree
  • change the sky to sunset
  • replace the logo with a blank sign
  • restore the torn corner of the photo
Para cambios de escena más amplios, describe lo que debe permanecer igual:
Replace the background with a modern photo studio backdrop while preserving the subject pose, facial features, and clothing.
Si la edición sigue afectando al área equivocada, cambia de /image/edit a /image/multi-edit y proporciona una máscara o capa de overlay.

Paso 3: elimina el fondo

Usa /image/background-remove cuando quieras el sujeto en primer plano aislado sobre un fondo transparente. Este endpoint devuelve un PNG con transparencia alfa. Usando una URL de imagen:
curl https://api.venice.ai/api/v1/image/background-remove \
  -H "Authorization: Bearer $VENICE_API_KEY" \
  -H "Content-Type: application/json" \
  -o cutout.png \
  -d '{
    "image_url": "https://example.com/product-photo.jpg"
  }'
Usando subida de archivo local:
curl https://api.venice.ai/api/v1/image/background-remove \
  -H "Authorization: Bearer $VENICE_API_KEY" \
  -F "[email protected]" \
  -o cutout.png
Usa la eliminación de fondo para:
  • fotos de producto de ecommerce
  • fotos de perfil y retratos
  • activos que planeas colocar sobre un nuevo fondo

Parámetros de la solicitud

/image/edit

ParámetroTipoObligatorioPredeterminadoDescripción
imagearchivo, cadena base64 o URL-Imagen fuente a editar
promptstring-Instrucciones de texto para la edición
modelstringNoqwen-editID del modelo de edición
aspect_ratiostringNopredeterminado del modeloRatio de salida para los modelos que lo admiten
modelIdstringDeprecado-Alias deprecado de model

/image/multi-edit

ParámetroTipoObligatorioPredeterminadoDescripción
imagesarray de 1-3 archivos, cadenas base64 o URLs-La primera imagen es la base; el resto son capas de edición o máscaras
promptstring-Instrucciones de texto sobre cómo combinar o editar las capas
modelIdstringNoqwen-editID del modelo de edición

/image/background-remove

ParámetroTipoObligatorioDescripción
imagearchivo o cadena base64Uno de image o image_urlImagen fuente a recortar
image_urlstringUno de image o image_urlURL pública de la imagen a recortar

Formatos de entrada admitidos

EndpointEntrada JSONEntrada multipartSalida
/image/editCadena base64 o URLSubida de archivoimage/png
/image/multi-editCadenas base64 o URLsSubidas de archivoimage/png
/image/background-removeCadena base64 o URLSubida de archivoimage/png
Para los endpoints de edición, las dimensiones de la imagen deben ser de al menos 65536 píxeles y no más de 33177600 píxeles. Los archivos subidos deben ser de menos de 25MB.

Modelos y precios

El modelo de edición predeterminado es qwen-edit, con precio de $0.04 por edición. Otros modelos con capacidad de edición pueden tener precios y restricciones diferentes. Consulta:

Errores

EstadoSignificadoAcción
400Parámetros de solicitud no válidosComprueba el número de imágenes, los nombres de campo y el formato de entrada
401Autenticación fallidaComprueba tu API key
402Saldo insuficienteAñade créditos en venice.ai/settings/api
415Tipo de contenido no válidoUsa JSON o multipart form-data correctamente
429Límite de velocidad excedido o modelo sobrecargadoReintenta con backoff; comprueba la cabecera Retry-After
500Procesamiento de inferencia fallidoReintenta la solicitud
503Modelo a capacidad máximaReintenta tras una breve demora
Algunos modelos de edición tienen políticas de contenido más estrictas que los modelos de generación de imagen. Por ejemplo, qwen-edit bloquea solicitudes que impliquen imágenes sexuales explícitas, menores sexualizados o violencia del mundo real.

Flujos relacionados