NovedadesNuevo

Las preguntas a ChatGPT ya admiten fotos

ChatGPT
Una foto de un set de café de filtro enviada a ChatGPT con la pregunta “What is this, and where can I buy one?”, sobre la respuesta de ChatGPT con tres goteros y kits, sus tiendas y precios

Adjunta hasta 4 fotos a una pregunta de ChatGPT desde la API o el Playground y recibe la respuesta que ChatGPT escribe sobre ellas, con sus fuentes y búsquedas.

Qué obtienes

  • payload.images: hasta 4 fotos que se envían con la primera pregunta de una tarea de ChatGPT, como URL públicas de imagen o data URL.
  • La respuesta llega con los mismos campos que cualquier respuesta de ChatGPT: text, markdown, sources, searchQueries y los productos y lugares que mostró ChatGPT.
  • En el Playground, el botón de foto del cuadro de mensaje adjunta fotos a una pregunta de ChatGPT, y una foto pegada o soltada en el cuadro también se adjunta. Las fotos aparecen sobre tu mensaje en la conversación.
  • Los followUps de la misma petición siguen preguntando por las fotos en la misma conversación.

Cómo funciona

Las fotos van con la primera pregunta de una conversación nueva de ChatGPT, igual que cuando un usuario las añade con el botón de foto de chatgpt.com. ChatGPT mira las fotos, busca en la web cuando la pregunta lo requiere y responde con sus fuentes. En el ejemplo de abajo, ChatGPT reconoció en la foto un set de café de filtro, buscó “where to buy ceramic pour over coffee dripper white Hario V60” y recomendó el HARIO V60 Ceramic Coffee Dripper de HARIO USA ($30.50), el Kalita Style 102 Ceramic Coffee Dripper de Kalita USA ($20.00) y el HARIO V60 Coffee Pour Over Kit de Williams Sonoma ($56.95).

Cada foto se lee una vez antes de preguntar a ChatGPT: una data URL se decodifica y una URL se descarga de su servidor público, hasta 10 MB por foto, en JPEG, PNG, WebP o GIF. Si una foto falla al descargarse o abrirse, la tarea termina con BAD_PAYLOAD, y una tarea fallida es gratuita.

Una data URL viaja dentro de la petición, que admite hasta 1 MiB, así que las fotos grandes se envían como URL. El Playground envía las fotos como data URL y reduce las grandes, de modo que caben 4 fotos en un mensaje.

Una pregunta con fotos se hace desde el país de payload.country y continúa con followUps. Con payload.location, un country HK o CN, o continueFrom, la petición devuelve 400 VALIDATION_ERROR, y con include.html activado devuelve 422 EVIDENCE_UNSUPPORTED.

Para qué sirve

  • Muestra a ChatGPT una foto de tu producto, pregunta dónde comprarlo y mira qué tiendas y precios recomienda y si tu tienda está entre ellas.
  • Pregunta por una foto de tu envase o del de un competidor y lee qué marca nombra ChatGPT y qué páginas cita.
  • Pregunta por un menú, una etiqueta o una captura de tu página y compara lo que ChatGPT lee en ella con lo que publicaste.

Cómo empezar

  1. Abre el Playground, quédate en Motores de respuesta y deja ChatGPT como motor en el cuadro de mensaje.
  2. Selecciona el botón de foto (Adjuntar fotos) y elige hasta 4 fotos, o pégalas o suéltalas en el cuadro de mensaje.
  3. Escribe tu pregunta y selecciona Enviar. Las fotos aparecen sobre tu mensaje y la respuesta llega con sus fuentes.
  4. Cambia la respuesta a cURL y selecciona Copiar cURL para ejecutar la misma petición, con las fotos, desde tu terminal.

Envía la solicitud

Envía la solicitud con tu clave de API en la cabecera Authorization.

curl -X POST https://api.querying.ai/v1/async/task \
  -H "Authorization: Bearer $QUERYING_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "taskType": "CHATGPT",
    "payload": {
      "prompt": "What is this, and where can I buy one?",
      "country": "US",
      "images": ["https://querying.ai/changelog/chatgpt-photos-example.jpg"]
    }
  }'

Campos de la solicitud

taskTypestringObligatorio
El motor que se ejecuta, como CHATGPT o GOOGLE.
payload.promptstringObligatorio
La pregunta, escrita como la teclea un usuario en el chat. Hasta 100.000 caracteres.
payload.imagesarray
De 1 a 4 fotos que se envían con la primera pregunta, como URL http(s) públicas o data URL data:image/…;base64,. JPEG, PNG, WebP o GIF, hasta 10 MB cada una. Los followUps siguen preguntando por ellas. Para CHATGPT.
payload.countrystring
Código de país de dos letras del mercado desde el que se pregunta, como US, KR o JP. Por defecto US.
payload.followUpsarray
Hasta 4 turnos más en la misma conversación de ChatGPT tras la primera respuesta. Cada elemento es {"prompt": "…"} para hacer una pregunta o {"select": {…}} para pulsar un botón del formulario de la respuesta anterior. Para CHATGPT.
webhook.urlstring
Una dirección HTTPS de tu servidor. La tarea terminada se envía allí en cuanto se completa.

Respuesta

Así llega una tarea terminada, recortada para que se lea mejor.

JSON
{
  "success": true,
  "task": {
    "id": "d4f322bc-4d27-4800-a6b4-f0cb9f66f4b0",
    "taskType": "CHATGPT",
    "status": "COMPLETED",
    "createdAt": "2026-10-28T04:56:48.117Z"
  },
  "credits": { "creditsToCharge": 1, "creditsCharged": 1 },
  "response": {
    "text": "This is a **pour-over coffee brewing setup**. The white ceramic cone is a coffee dripper, and the glass pot underneath is a carafe. …\n\n## Where to buy a similar setup\n\n…\n\n**1. HARIO V60 Ceramic Coffee Dripper**\n\n## $30.50\n\nHARIO USA\n\nA classic white ceramic cone with spiral ridges, very similar to the one pictured. …",
    "sources": [
      {
        "position": 1,
        "url": "https://www.hario-usa.com/products/v60-coffee-pour-over-02-ceramic-kit",
        "label": "V60 Ceramic Pour Over Coffee Set – Hario USA",
        "attribution": "hario-usa.com"
      }
    ],
    "searchQueries": [
      "where to buy ceramic pour over coffee dripper white Hario V60"
    ],
    "model": "gpt-6"
  }
}
task.statusstring
QUEUED, PROCESSING y al final COMPLETED con la respuesta o FAILED con error.
credits.creditsChargedinteger
Créditos cobrados por la tarea terminada. Una tarea fallida cobra 0.
response.textstring
La respuesta en texto plano.
response.sourcesarray
Las páginas que cita la respuesta, en el orden del motor, con position, url y label.
response.searchQueriesarray
Las búsquedas web que hizo el motor para escribir la respuesta.

Recibe el resultado

La solicitud devuelve la tarea al instante con status QUEUED. Consulta GET /v1/async/task/{id} hasta que status sea COMPLETED o FAILED, o añade webhook.url y la tarea terminada llega a tu servidor con los mismos task, credits y response. Los resultados siguen disponibles 24 horas después de terminar la tarea.

curl https://api.querying.ai/v1/async/task/$TASK_ID \
  -H "Authorization: Bearer $QUERYING_API_KEY"

Errores

VALIDATION_ERRORHTTP 400
payload.images se envió a un motor distinto de CHATGPT, está vacío, trae más de 4 fotos o un valor que no es una URL http(s) ni una data URL de imagen, o va con payload.location, un country HK o CN, o continueFrom. details indica el campo.
EVIDENCE_UNSUPPORTEDHTTP 422
include.html está activado en una pregunta con payload.images.
PAYLOAD_TOO_LARGEHTTP 413
El cuerpo supera 1 MiB, u 8 MiB en un lote.
MISSING_API_KEYHTTP 401
Falta la cabecera Authorization, o su clave es desconocida, caducó o fue revocada.
INSUFFICIENT_CREDITSHTTP 402
El saldo es menor que el precio de la tarea. Añade créditos o mejora el plan y vuelve a enviarla.

Precio

Cada respuesta cuesta 1 crédito, el precio de una tarea de ChatGPT, con o sin fotos. Cada respuesta de seguimiento suma 1 crédito. Una tarea que termina con BAD_PAYLOAD es gratuita.

Más novedades

Recibe las novedades

Recibe las actualizaciones por correo.

Feed RSS