NouveautésNouveau

Les questions à ChatGPT acceptent désormais des photos

ChatGPT
Une photo d’un set de café filtre envoyée à ChatGPT avec la question « What is this, and where can I buy one? », au-dessus de la réponse de ChatGPT qui cite trois porte-filtres et kits avec leurs boutiques et leurs prix

Joignez jusqu’à 4 photos à une question ChatGPT depuis l’API ou le Playground, et recevez la réponse que ChatGPT rédige à leur sujet, avec ses sources et ses recherches.

Ce que vous obtenez

  • payload.images : jusqu’à 4 photos envoyées avec la première question d’une tâche ChatGPT, sous forme d’URL d’image publiques ou de data URL.
  • La réponse arrive avec les mêmes champs que toute réponse ChatGPT : text, markdown, sources, searchQueries, ainsi que les produits et les lieux affichés par ChatGPT.
  • Dans le Playground, le bouton photo du champ de message joint des photos à une question ChatGPT, et une photo collée ou déposée dans le champ s’y ajoute aussi. Les photos s’affichent au-dessus de votre message dans la conversation.
  • Les followUps de la même requête continuent de poser des questions sur les photos dans la même conversation.

Fonctionnement

Les photos partent avec la première question d’une nouvelle conversation ChatGPT, comme lorsqu’un utilisateur les ajoute avec le bouton photo de chatgpt.com. ChatGPT regarde les photos, cherche sur le web quand la question le demande et répond avec ses sources. Dans l’exemple ci-dessous, ChatGPT a reconnu un set de café filtre sur la photo, a cherché « where to buy ceramic pour over coffee dripper white Hario V60 » et a recommandé le HARIO V60 Ceramic Coffee Dripper de HARIO USA ($30.50), le Kalita Style 102 Ceramic Coffee Dripper de Kalita USA ($20.00) et le HARIO V60 Coffee Pour Over Kit de Williams Sonoma ($56.95).

Chaque photo est lue une fois avant d’interroger ChatGPT : une data URL est décodée, une URL est téléchargée depuis son hôte public, jusqu’à 10 Mo par photo, en JPEG, PNG, WebP ou GIF. Si une photo échoue au téléchargement ou à l’ouverture, la tâche se termine avec BAD_PAYLOAD, et une tâche en échec est gratuite.

Une data URL voyage dans la requête, qui accepte jusqu’à 1 Mio : les grandes photos partent donc en URL. Le Playground envoie les photos en data URL et réduit les plus grandes, si bien que 4 photos tiennent dans un message.

Une question avec photos part du pays de payload.country et se poursuit avec followUps. Avec payload.location, un country HK ou CN, ou continueFrom, la requête renvoie 400 VALIDATION_ERROR, et avec include.html activé, elle renvoie 422 EVIDENCE_UNSUPPORTED.

Cas d’usage

  • Montrez à ChatGPT une photo de votre produit, demandez où l’acheter, et voyez quelles boutiques et quels prix il recommande et si votre boutique en fait partie.
  • Interrogez-le sur une photo de votre emballage ou de celui d’un concurrent, et lisez quelle marque ChatGPT nomme et quelles pages il cite.
  • Interrogez-le sur un menu, une étiquette ou une capture de votre page, et comparez ce que ChatGPT y lit avec ce que vous avez publié.

Pour commencer

  1. Ouvrez le Playground, restez sur Moteurs de réponse et gardez ChatGPT comme moteur dans le champ de message.
  2. Sélectionnez le bouton photo (Joindre des photos) et choisissez jusqu’à 4 photos, ou collez-les ou déposez-les dans le champ de message.
  3. Tapez votre question et sélectionnez Envoyer. Les photos s’affichent au-dessus de votre message, et la réponse arrive avec ses sources.
  4. Passez la réponse en cURL et sélectionnez Copier le cURL pour lancer la même requête, photos comprises, depuis votre terminal.

Envoyer la requête

Envoyez la requête avec votre clé API dans l’en-tête 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"]
    }
  }'

Champs de la requête

taskTypestringObligatoire
Le moteur à interroger, par exemple CHATGPT ou GOOGLE.
payload.promptstringObligatoire
La question, rédigée comme un utilisateur la tape dans le chat. Jusqu’à 100 000 caractères.
payload.imagesarray
1 à 4 photos envoyées avec la première question, en URL http(s) publiques ou en data URL data:image/…;base64,. JPEG, PNG, WebP ou GIF, jusqu’à 10 Mo chacune. Les followUps continuent de poser des questions à leur sujet. Pour CHATGPT.
payload.countrystring
Code pays à deux lettres du marché d’où part la question, par exemple US, KR ou JP. Par défaut US.
payload.followUpsarray
Jusqu’à 4 tours de plus dans la même conversation ChatGPT après la première réponse. Chaque élément est {"prompt": "…"} pour poser une question, ou {"select": {…}} pour appuyer sur un bouton du formulaire de la réponse précédente. Pour CHATGPT.
webhook.urlstring
Une adresse HTTPS de votre serveur. La tâche terminée y est envoyée dès qu’elle se termine.

Réponse

Voici une tâche terminée, raccourcie pour la lecture.

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, puis COMPLETED avec la réponse ou FAILED avec error.
credits.creditsChargedinteger
Crédits facturés pour la tâche terminée. Une tâche en échec facture 0.
response.textstring
La réponse en texte brut.
response.sourcesarray
Les pages citées par la réponse, dans l’ordre du moteur, avec position, url et label.
response.searchQueriesarray
Les recherches web lancées par le moteur pour rédiger la réponse.

Recevoir le résultat

La requête renvoie aussitôt la tâche avec status QUEUED. Interrogez GET /v1/async/task/{id} jusqu’à ce que status vaille COMPLETED ou FAILED, ou ajoutez webhook.url pour recevoir la tâche terminée sur votre serveur, avec les mêmes task, credits et response. Les résultats restent disponibles 24 heures après la fin de la tâche.

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

Erreurs

VALIDATION_ERRORHTTP 400
payload.images a été envoyé à un moteur autre que CHATGPT, est vide, contient plus de 4 photos ou une valeur autre qu’une URL http(s) ou une data URL d’image, ou accompagne payload.location, un country HK ou CN, ou continueFrom. details indique le champ.
EVIDENCE_UNSUPPORTEDHTTP 422
include.html est activé pour une question avec payload.images.
PAYLOAD_TOO_LARGEHTTP 413
Le corps dépasse 1 Mio, ou 8 Mio pour un lot.
MISSING_API_KEYHTTP 401
L’en-tête Authorization manque, ou sa clé est inconnue, expirée ou révoquée.
INSUFFICIENT_CREDITSHTTP 402
Le solde est inférieur au prix de la tâche. Ajoutez des crédits ou changez de plan, puis renvoyez-la.

Tarif

Chaque réponse coûte 1 crédit, le prix d’une tâche ChatGPT, avec ou sans photos. Chaque réponse de relance ajoute 1 crédit. Une tâche terminée avec BAD_PAYLOAD est gratuite.

Autres nouveautés

Recevez les nouveautés

Recevez les mises à jour par e-mail.

Flux RSS