Saltar al contenido 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
  }
}
Esta página usa la misma operación generateContent que Generar contenido (Gemini), con el playground de arriba rellenado previamente para chat de texto plano. Las notas a continuación describen los campos multimodales nativos de Gemini que puede agregar a contents[].parts para analizar imágenes, audio, video o medios mixtos en una sola solicitud.
Cada part puede incluir datos inline (bytes codificados en base64 más un tipo MIME) junto con instrucciones de texto, lo que permite que el modelo razone entre modalidades en una sola llamada.

Campos de solicitud nativos de Gemini

Los campos genéricos contents y generationConfig que se muestran en el playground aceptan la siguiente forma anidada para reconocimiento multimodal:
CampoTipoObligatorioDescripción
contents[].rolestringNoRol del turno, por ejemplo user.
contents[].partsarrayLista ordenada de parts de contenido (texto y/o medios inline).
contents[].parts[].textstringNoInstrucción de texto o pregunta para el modelo.
contents[].parts[].inlineDataobjectNoCarga multimedia inline para comprensión de imagen, audio o video.
contents[].parts[].inlineData.mimeTypestringNoTipo MIME de los datos inline, por ejemplo image/jpeg, audio/mp3, video/mp4.
contents[].parts[].inlineData.datastringNoBytes multimedia codificados en base64.
Puede mezclar varias parts en un solo turno; por ejemplo, una part text con una instrucción seguida de una o más parts inlineData que contengan el medio a analizar.

Ejemplo: analizar una imagen

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

Campos de respuesta

La respuesta sigue la forma estándar de generateContent. Los campos más relevantes para el reconocimiento multimedia son:
candidates
array
Respuestas candidatas devueltas por el modelo.
usageMetadata
object
Metadatos de contabilidad de tokens, incluido promptTokenCount, candidatesTokenCount y totalTokenCount. Los medios inline (imágenes, audio, video) consumen tokens del prompt además de cualquier part de texto.

Ejemplo de respuesta

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
  }
}

Autorizaciones

Authorization
string
header
requerido

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

Parámetros de ruta

model
string
requerido

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

Cuerpo

application/json
contents
object[]

Input content array with role and parts.

generationConfig
object

Generation configuration.

Respuesta

Generated content candidates.

candidates
object[]

Candidate responses returned by the model.

usageMetadata
object

Token accounting metadata.