Nano Banana 2.1 : le prompting avancé en JSON
39 / 47

Module 6 · L'API en directEnviron 1 min

Lire la réponse : l'image en base64

La réponse est un objet JSON. Allégée de sa longue chaîne base64, elle a cette forme :

Texte
{
  "id": "…",
  "status": "completed",
  "steps": [
    { "type": "thought", "summary": [ … ] },
    {
      "type": "model_output",
      "status": "done",
      "content": [
        { "type": "image", "mime_type": "image/jpeg", "data": "/9j/4AAQSkZJRgABAQ…" }
      ]
    }
  ]
}

L’image est la valeur de data. Les étapes thought contiennent le raisonnement du modèle et ses images d’essai, que Google ne facture pas : ce ne sont pas vos résultats. Avec l’outil jq, cette commande prend la dernière image des étapes model_output et la décode :

Terminal
jq -r '[.steps[] | select(.type == "model_output") | .content[] | select(.type == "image") | .data] | last // empty' reponse.json | base64 --decode > essai-zitoune.jpg

Ouvrez essai-zitoune.jpg. S’il est vide, la réponse ne contenait pas d’image : jq '.steps' reponse.json montre ce que le modèle a répondu, et jq '.error' reponse.json l’erreur éventuelle de l’API.

Recto

base64

Un JPEG, un filigrane invisibleDans la version d’octobre 2026 du SDK Python de Google, le seul type de sortie proposé est image/jpeg. Chaque image porte aussi SynthID, le filigrane invisible de Google qui permet de reconnaître une image générée.