Crea Gratis
ImagenEdición de imagenIlimitado0 $ por petición

PicassoIA Image Editor Pro

Edita o combina de una a cuatro imágenes siguiendo un prompt: cambia la ropa o un color, añade o quita objetos, o lleva elementos de una imagen a otra.

Probar el modeloVer documentación
curl -s -X POST https://api.picassoia.com/v1/models/picassoia/picassoia-image-editor-pro/predictions \  -H "Authorization: Bearer $PICASSOIA_API_KEY" \  -H "Content-Type: application/json" \  -d '{"input":{"prompt":"put the cat from image 1 on the sofa from image 2","images":["https://example.com/cat.png","https://example.com/sofa.jpg"]}}'

Cómo hacer la llamada

Cada generación son tres peticiones: crear la predicción, consultarla hasta que termine y leer el resultado. El código y las respuestas de abajo son de este modelo y del modo que elegiste.

Antes de empezar

Crea una API key y guárdala en tu servidor, en la variable de entorno PICASSOIA_API_KEY. Cada petición la envía en la cabecera Authorization.

Consigue tu API key
  1. Crea la predicción

    Envía el input en un POST. La API responde 201 al momento, sin esperar al resultado: la predicción está en estado starting, con una estimación en eta y la dirección que hay que consultar en urls.get.

    Petición
    curl -s -X POST https://api.picassoia.com/v1/models/picassoia/picassoia-image-editor-pro/predictions \
      -H "Authorization: Bearer $PICASSOIA_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{"input":{"prompt":"put the cat from image 1 on the sofa from image 2","images":["https://example.com/cat.png","https://example.com/sofa.jpg"]}}'
    Respuesta · 201 Createdstarting
    {
      "id": "api_3f9c2b7e8d1a4c6f9e0b1a2c3d4e5f60",
      "model": "picassoia/picassoia-image-editor-pro",
      "input": {
        "prompt": "put the cat from image 1 on the sofa from image 2",
        "images": [
          "https://example.com/cat.png",
          "https://example.com/sofa.jpg"
        ],
        "aspect_ratio": "match_input_image",
        "num_outputs": 1,
        "output_format": "webp",
        "output_quality": 95
      },
      "output": null,
      "error": null,
      "status": "starting",
      "created_at": "2026-10-01T09:30:00.000Z",
      "started_at": null,
      "completed_at": null,
      "metrics": {
        "predict_time": null
      },
      "urls": {
        "get": "https://api.picassoia.com/v1/predictions/api_3f9c2b7e8d1a4c6f9e0b1a2c3d4e5f60",
        "cancel": "https://api.picassoia.com/v1/predictions/api_3f9c2b7e8d1a4c6f9e0b1a2c3d4e5f60/cancel"
      },
      "eta": {
        "seconds": 12,
        "next_poll_in_seconds": 6
      }
    }
  2. Consúltala hasta que termine

    Vuelve a pedir urls.get pasados eta.next_poll_in_seconds segundos: a la mitad del tiempo estimado, al llegar a la estimación y después cada 2 segundos. Consultar más a menudo no te da el resultado antes.

    Estados:startingprocessingsucceeded·failed·canceled

    Petición
    # Repeat after eta.next_poll_in_seconds until status is
    # succeeded, failed or canceled.
    curl -s https://api.picassoia.com/v1/predictions/api_3f9c2b7e8d1a4c6f9e0b1a2c3d4e5f60 \
      -H "Authorization: Bearer $PICASSOIA_API_KEY"
    Respuesta · 200 OK · en cursoprocessing
    {
      "id": "api_3f9c2b7e8d1a4c6f9e0b1a2c3d4e5f60",
      "status": "processing",
      "output": null,
      "eta": {
        "seconds": 6,
        "next_poll_in_seconds": 6
      }
    }

    Solo se muestran los campos que cambian; el resto, como en el paso 1.

  3. Lee el resultado

    Cuando status es succeeded, output es una lista de URLs de imágenes. Descarga los archivos que quieras conservar.

    Si status es failed, error dice por qué; canceled significa que se canceló antes de terminar. Estos tres estados son finales: la predicción ya no cambia.

    Petición
    # The last poll holds the result: "output" when "status" is succeeded,
    # "error" when it is failed. With jq, just those three fields:
    curl -s https://api.picassoia.com/v1/predictions/api_3f9c2b7e8d1a4c6f9e0b1a2c3d4e5f60 \
      -H "Authorization: Bearer $PICASSOIA_API_KEY" | jq '.status, .output, .error'
    Respuesta · 200 OK · terminadasucceeded
    {
      "id": "api_3f9c2b7e8d1a4c6f9e0b1a2c3d4e5f60",
      "status": "succeeded",
      "output": [
        "https://…/output-1.webp"
      ],
      "error": null,
      "completed_at": "2026-10-01T09:30:08.000Z",
      "metrics": {
        "predict_time": 6.4
      },
      "eta": null
    }

    Solo se muestran los campos que cambian; el resto, como en el paso 1.

Los ids, tiempos y URLs de estas respuestas son de ejemplo: los tuyos llegan en cada respuesta.

Este modelo en la API

Crea una predicción con un POST y consúltala hasta que termine. Estos son los parámetros del modelo:

Endpoint

POST https://api.picassoia.com/v1/models/picassoia/picassoia-image-editor-pro/predictions

picassoia/picassoia-image-editor-pro

CampoTipoPor defectoNotas
promptcadena, 1–4000 caracteresobligatorioLa edición que quieres hacer. Refiérete a las imágenes como "image 1", "image 2"…
imageslista de 1–4 imágenes (URL https o data URL)obligatorioLa primera es la imagen principal.
aspect_ratiomatch_input_image, 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3match_input_imagematch_input_image conserva las proporciones de la primera imagen.
num_outputsentero, 1–21
output_formatwebp, jpg, pngwebp
output_qualityentero, 0–10095Solo para JPG y WebP.
seedenteroaleatorio

Salida: una lista de 1 o 2 URL de imágenes.

Abrir la referencia completa de la API

Compara con otros proveedores

Mira cómo quedan nuestros precios frente a lo que cobran otros proveedores por el modelo del mismo nombre.

ModeloPicasso IAOtros proveedores
PicassoIA Image Editor Pro · Edición de imagenIlimitado0 $ por petición$0.03/MP

Comparativa basada en los precios públicos de otros proveedores a 1 de octubre de 2026. En Picasso IA, las predicciones de la API son gratis con el plan Infinite, con hasta 5 en curso a la vez.