Passer au contenu principal
POST
/
v1
/
models
/
{model}
:generateContent
Generate content (Gemini)
curl --request POST \
  --url https://api.dgrid.ai/v1/models/{model}:generateContent \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "contents": [
    {
      "role": "user",
      "parts": [
        {
          "text": "Hello from DGrid."
        }
      ]
    }
  ]
}
'
{
  "candidates": [
    {
      "content": {
        "role": "<string>",
        "parts": [
          {}
        ]
      },
      "finishReason": "<string>",
      "safetyRatings": [
        {}
      ]
    }
  ],
  "usageMetadata": {
    "promptTokenCount": 123,
    "candidatesTokenCount": 123,
    "totalTokenCount": 123
  }
}
Cette page utilise la même opération generateContent que Générer du contenu (Gemini), avec le playground ci-dessus prérempli pour un chat en texte brut. Les notes ci-dessous décrivent les champs multimodaux natifs Gemini que vous pouvez ajouter à contents[].parts pour analyser des images, de l’audio, de la vidéo ou des médias mixtes dans une seule requête.
Chaque part peut transporter des données inline (octets encodés en base64 plus un type MIME) en plus d’instructions textuelles, ce qui permet au modèle de raisonner sur plusieurs modalités en un seul appel.

Champs de requête natifs Gemini

Les champs génériques contents et generationConfig affichés dans le playground acceptent la forme imbriquée suivante pour la reconnaissance multimodale :
ChampTypeRequisDescription
contents[].rolestringNonRôle du tour, par exemple user.
contents[].partsarrayOuiListe ordonnée des parts de contenu (texte et/ou média inline).
contents[].parts[].textstringNonInstruction textuelle ou question pour le modèle.
contents[].parts[].inlineDataobjectNonCharge utile média inline pour la compréhension d’image, d’audio ou de vidéo.
contents[].parts[].inlineData.mimeTypestringNonType MIME des données inline, par exemple image/jpeg, audio/mp3, video/mp4.
contents[].parts[].inlineData.datastringNonOctets média encodés en base64.
Vous pouvez mélanger plusieurs parts dans un même tour, par exemple une part text contenant l’instruction, suivie d’une ou plusieurs parts inlineData contenant les médias à analyser.

Exemple : analyser une image

{
  "contents": [
    {
      "role": "user",
      "parts": [
        { "text": "Describe what is happening in this image." },
        {
          "inlineData": {
            "mimeType": "image/jpeg",
            "data": "<base64-encoded-image-bytes>"
          }
        }
      ]
    }
  ]
}

Champs de réponse

La réponse suit la forme standard generateContent. Les champs les plus pertinents pour la reconnaissance média sont :
candidates
array
Réponses candidates renvoyées par le modèle.
usageMetadata
object
Métadonnées de comptabilité des tokens, notamment promptTokenCount, candidatesTokenCount et totalTokenCount. Les médias inline (images, audio, vidéo) consomment des tokens de prompt en plus des éventuelles parts textuelles.

Exemple de réponse

200
{
  "candidates": [
    {
      "content": {
        "role": "model",
        "parts": [
          { "text": "The image shows a golden retriever sitting on a grassy lawn." }
        ]
      },
      "finishReason": "STOP",
      "safetyRatings": []
    }
  ],
  "usageMetadata": {
    "promptTokenCount": 264,
    "candidatesTokenCount": 18,
    "totalTokenCount": 282
  }
}

Autorisations

Authorization
string
header
requis

Your DGrid API key. All endpoints use Authorization: Bearer <DGRID_API_KEY>.

Paramètres de chemin

model
string
requis

Target model ID, such as gemini-1.5-pro.

Corps

application/json
contents
object[]

Input content array with role and parts.

generationConfig
object

Generation configuration.

Réponse

Generated content candidates.

candidates
object[]

Candidate responses returned by the model.

usageMetadata
object

Token accounting metadata.