API de Imagen a imagen

La API de Imagen a imagen es una función que te permite integrar las capacidades de edición de imágenes con IA de Meshy en tu propia aplicación. Transforma y edita imágenes existentes usando imágenes de referencia y prompts de texto con nuestros potentes modelos de IA.


POST/openapi/v1/image-to-image

Crear una tarea de Imagen a imagen

Este endpoint te permite crear una nueva tarea de Imagen a imagen. Consulta El objeto de tarea Imagen a imagen para ver qué propiedades se incluyen en el objeto de tarea Imagen a imagen.

Parámetros

  • Name
    ai_model
    Type
    string
    Requerido
    Description

    ID del modelo que se usará para la generación de imágenes.

    Valores disponibles:

    • nano-banana: Modelo estándar (3 créditos por imagen)
    • nano-banana-2: Modelo equilibrado con mayor capacidad que el estándar (6 créditos por imagen)
    • nano-banana-pro: Modelo Pro con calidad mejorada (9 créditos por imagen)
    • gpt-image-2: OpenAI GPT Image 2, un modelo de edición de imágenes de alta fidelidad (12 créditos por imagen)
  • Name
    prompt
    Type
    string
    Requerido
    Description

    Una descripción de texto de la transformación o edición que quieres aplicar a las imágenes de referencia.

  • Name
    reference_image_urls
    Type
    array
    Requerido
    Description

    Un array de 1 a 5 imágenes de referencia para usar en la tarea de edición de imágenes. Actualmente admitimos los formatos .jpg, .jpeg y .png.

    Hay dos formas de proporcionar cada imagen:

    • URL de acceso público: Una URL accesible desde internet público.
    • Data URI: Un Data URI codificado en base64 de la imagen. Ejemplo de un Data URI: data:image/jpeg;base64,<your base64-encoded image data>.
  • Name
    generate_multi_view
    Type
    boolean
    predeterminado false
    Description

    Cuando se establece en true, genera una imagen multivista que muestra el sujeto desde múltiples ángulos.

Devuelve

La propiedad result de la respuesta contiene el id de la tarea de Imagen a imagen recién creada.

Modos de fallo

  • Name
    400 - Bad Request
    Description

    La solicitud no era aceptable. Causas comunes:

    • Falta un parámetro: Falta un parámetro obligatorio (p. ej., ai_model, prompt, reference_image_urls).
    • Formato de imagen no válido: Una o más imágenes de referencia no están en formatos admitidos.
    • URL inaccesible: No se pudieron descargar una o más reference_image_urls.
  • Name
    401 - Unauthorized
    Description

    Falló la autenticación. Comprueba tu clave de API.

  • Name
    402 - Payment Required
    Description

    Créditos insuficientes para realizar esta tarea.

  • Name
    429 - Too Many Requests
    Description

    Has superado tu límite de tasa.

Request

POST
/openapi/v1/image-to-image
# Transform a reference image with a text prompt
curl https://api.meshy.ai/openapi/v1/image-to-image \
  -X POST \
  -H "Authorization: Bearer ${YOUR_API_KEY}" \
  -H 'Content-Type: application/json' \
  -d '{
    "ai_model": "nano-banana",
    "prompt": "Transform this into a cyberpunk style artwork",
    "reference_image_urls": [
      "<your publicly accessible image url or base64-encoded data URI>"
    ]
  }'


 ## Using Data URI example
curl https://api.meshy.ai/openapi/v1/image-to-image \
  -X POST \
  -H "Authorization: Bearer ${YOUR_API_KEY}" \
  -H 'Content-Type: application/json' \
  -d '{
    "ai_model": "nano-banana",
    "prompt": "Transform this into a cyberpunk style artwork",
    "reference_image_urls": [
      "data:image/png;base64,${YOUR_BASE64_ENCODED_IMAGE_DATA}"
    ]
  }'

Response

{
  "result": "018a210d-8ba4-705c-b111-1f1776f7f578"
}

GET/openapi/v1/image-to-image/:id

Recuperar una tarea de Imagen a imagen

Este endpoint te permite recuperar una tarea de Imagen a imagen dado un id de tarea válido. Consulta El objeto de tarea de Imagen a imagen para ver qué propiedades se incluyen con el objeto de tarea de Imagen a imagen.

Parámetros

  • Name
    id
    Type
    path
    Description

    Identificador único de la tarea de Imagen a imagen que se va a recuperar.

Devuelve

La respuesta contiene el objeto de tarea de Imagen a imagen. Consulta la sección El objeto de tarea de Imagen a imagen para obtener detalles.

Request

GET
/openapi/v1/image-to-image/018a210d-8ba4-705c-b111-1f1776f7f578
curl https://api.meshy.ai/openapi/v1/image-to-image/018a210d-8ba4-705c-b111-1f1776f7f578 \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

Response

{
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "image-to-image",
  "ai_model": "nano-banana",
  "prompt": "Transform this into a cyberpunk style artwork",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1692771650657,
  "started_at": 1692771667037,
  "finished_at": 1692771669037,
  "expires_at": 1692771679037,
  "image_urls": [
    "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/image.png?Expires=***"
  ]
}

DELETE/openapi/v1/image-to-image/:id

Eliminar una tarea de Imagen a imagen

Este endpoint elimina permanentemente una tarea de Imagen a imagen, incluidas todas las imágenes y datos asociados. Esta acción es irreversible.

Parámetros de ruta

  • Name
    id
    Type
    path
    Description

    El ID de la tarea de Imagen a imagen que se va a eliminar.

Devuelve

Devuelve 200 OK en caso de éxito.

Request

DELETE
/openapi/v1/image-to-image/018a210d-8ba4-705c-b111-1f1776f7f578
curl --request DELETE \
  --url https://api.meshy.ai/openapi/v1/image-to-image/018a210d-8ba4-705c-b111-1f1776f7f578 \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

Response

// Returns 200 Ok on success.

GET/openapi/v1/image-to-image

Listar tareas de Imagen a imagen

Este endpoint te permite recuperar una lista de tareas de Imagen a imagen.

Parámetros

  • Name
    page_num
    Type
    integer
    Description

    Número de página para la paginación. Comienza en 1 y el valor predeterminado es 1.

  • Name
    page_size
    Type
    integer
    Description

    Límite de tamaño de página. El valor predeterminado es de 10 elementos. El máximo permitido es de 50 elementos.

  • Name
    sort_by
    Type
    string
    Description

    Campo por el que ordenar. Valores disponibles:

    • +created_at: Ordenar por hora de creación en orden ascendente.
    • -created_at: Ordenar por hora de creación en orden descendente.

Devuelve

Devuelve una lista paginada de los objetos de tarea de Imagen a imagen.

Request

GET
/openapi/v1/image-to-image
curl https://api.meshy.ai/openapi/v1/image-to-image?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Response

[
  {
    "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
    "type": "image-to-image",
    "ai_model": "nano-banana",
    "prompt": "Transform this into a cyberpunk style artwork",
    "status": "SUCCEEDED",
    "progress": 100,
    "created_at": 1692771650657,
    "started_at": 1692771667037,
    "finished_at": 1692771669037,
    "expires_at": 1692771679037,
    "image_urls": [
      "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/image.png?Expires=***"
    ]
  }
]

GET/openapi/v1/image-to-image/:id/stream

Transmitir una tarea de Imagen a imagen

Este endpoint transmite actualizaciones en tiempo real para una tarea de Imagen a imagen mediante Server-Sent Events (SSE).

Parámetros

  • Name
    id
    Type
    path
    Description

    Identificador único de la tarea de Imagen a imagen que se va a transmitir.

Devuelve

Devuelve un flujo de los objetos de tarea de Imagen a imagen como Server-Sent Events.

Para tareas PENDING o IN_PROGRESS, el flujo de respuesta solo incluirá los campos progress y status necesarios.

Request

GET
/openapi/v1/image-to-image/018a210d-8ba4-705c-b111-1f1776f7f578/stream
curl -N https://api.meshy.ai/openapi/v1/image-to-image/018a210d-8ba4-705c-b111-1f1776f7f578/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Response Stream

// Error event example
event: error
data: {
  "status_code": 404,
  "message": "Task not found"
}

// Message event examples illustrate task progress.
// For PENDING or IN_PROGRESS tasks, the response stream will not include all fields.
event: message
data: {
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "progress": 0,
  "status": "PENDING"
}

event: message
data: {
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "image-to-image",
  "ai_model": "nano-banana",
  "prompt": "Transform this into a cyberpunk style artwork",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1692771650657,
  "started_at": 1692771667037,
  "finished_at": 1692771669037,
  "expires_at": 1692771679037,
  "image_urls": [
    "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/image.png?Expires=***"
  ]
}

El objeto de tarea de Imagen a imagen

El objeto de tarea de Imagen a imagen es una unidad de trabajo que Meshy rastrea para generar una imagen a partir de imágenes de referencia y una entrada de prompt de texto. El objeto tiene las siguientes propiedades:

Propiedades

  • Name
    id
    Type
    string
    Description

    Identificador único de la tarea. Aunque usamos un UUID ordenable por k para los ids de tarea como detalle de implementación, no debes hacer ninguna suposición sobre el formato del id.

  • Name
    type
    Type
    string
    Description

    El tipo de tarea de generación de imágenes. Para las tareas de Imagen a imagen, esto siempre será image-to-image.

  • Name
    ai_model
    Type
    string
    Description

    El modelo de IA usado para esta tarea. Los valores posibles son nano-banana, nano-banana-2, nano-banana-pro o gpt-image-2.

  • Name
    prompt
    Type
    string
    Description

    El prompt de texto que se usó para guiar la transformación de la imagen.

  • Name
    status
    Type
    string
    Description

    Estado de la tarea. Los valores posibles son uno de PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.

  • Name
    progress
    Type
    integer
    Description

    progress de la tarea. Si la tarea aún no se ha iniciado, esta propiedad será 0. Una vez que la tarea se haya completado correctamente, esto pasará a ser 100.

  • Name
    created_at
    Type
    timestamp
    Description

    Marca de tiempo de cuándo se creó la tarea, en milisegundos.

  • Name
    started_at
    Type
    timestamp
    Description

    Marca de tiempo de cuándo se inició la tarea, en milisegundos. Si la tarea aún no se ha iniciado, esta propiedad será 0.

  • Name
    finished_at
    Type
    timestamp
    Description

    Marca de tiempo de cuándo se finalizó la tarea, en milisegundos. Si la tarea aún no ha finalizado, esta propiedad será 0.

  • Name
    expires_at
    Type
    timestamp
    Description

    Marca de tiempo de cuándo expira el resultado de la tarea, en milisegundos.

  • Name
    preceding_tasks
    Type
    integer
    Description

    El recuento de tareas precedentes.

  • Name
    image_urls
    Type
    array
    Description

    Un arreglo de URLs descargables a las imágenes generadas. Cuando generate_multi_view está habilitado, este arreglo contiene tres URLs de imagen que representan diferentes ángulos de visualización. De lo contrario, contiene una sola URL de imagen.

  • Name
    task_error
    Type
    object
    Description

    Detalles del error para tareas fallidas. Consulta Errores para ver la referencia completa del objeto task_error.

  • Name
    consumed_credits
    Type
    integer
    Description

    El número de créditos consumidos por esta tarea. Presente cuando el estado de la tarea es PENDING, IN_PROGRESS o SUCCEEDED. Devuelve 0 para tareas FAILED (los créditos se reembolsan en caso de fallo).

Example Image to Image Task Object

{
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "image-to-image",
  "ai_model": "nano-banana",
  "prompt": "Transform this into a cyberpunk style artwork",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1692771650657,
  "started_at": 1692771667037,
  "finished_at": 1692771669037,
  "expires_at": 1692771679037,
  "preceding_tasks": 0,
  "image_urls": [
    "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/image.png?Expires=***"
  ],
  "task_error": {

    "message": ""

  },

  "consumed_credits": 3
}