Gemini generateContent
POST /v1/models/{model}:generateContent et POST /v1beta/models/{model}:generateContent exposent une API publique compatible Gemini pour les clients qui envoient déjà des payloads contents et generationConfig.
À utiliser quand
- Ton app ou SDK parle déjà le format Gemini generateContent.
- Tu veux envoyer
contentsavec despartsau lieu demessagesOpenAI ou Anthropic. - Tu as besoin de
generationConfig, du mode JSON ou des schémas de réponse style Gemini.
Endpoints
POST
/v1/models/{model}:generateContentGemini generateContent v1
Génération non-streaming compatible Gemini. Le segment {model} est l’ID modèle public Prismatic.
POST
/v1beta/models/{model}:generateContentGemini generateContent v1beta
Génération non-streaming compatible Gemini en version beta pour les clients qui ciblent la surface Gemini v1beta.
POST
/v1/models/{model}:streamGenerateContentGemini streamGenerateContent v1
Streaming SSE compatible Gemini. Ne mets pas stream: true sur generateContent; utilise cet endpoint à la place.
POST
/v1beta/models/{model}:streamGenerateContentGemini streamGenerateContent v1beta
Streaming SSE compatible Gemini en version beta pour les clients qui ciblent la surface Gemini v1beta.
Exemples de code
curl https://api.prismaticapi.com/v1/models/claude-sonnet-4-6:generateContent \
-H "x-goog-api-key: $PRISMATIC_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contents": [
{
"role": "user",
"parts": [
{ "text": "Write a one-line launch announcement." }
]
}
],
"generationConfig": {
"maxOutputTokens": 120,
"temperature": 0.2
}
}'curl -N https://api.prismaticapi.com/v1beta/models/claude-sonnet-4-6:streamGenerateContent \
-H "x-goog-api-key: $PRISMATIC_API_KEY" \
-H "Accept: text/event-stream" \
-H "Content-Type: application/json" \
-d '{
"contents": [
{
"role": "user",
"parts": [
{ "text": "Stream a three-step deployment checklist." }
]
}
],
"generationConfig": {
"maxOutputTokens": 240
}
}'curl https://api.prismaticapi.com/v1/models/claude-sonnet-4-6:generateContent \
-H "Authorization: Bearer $PRISMATIC_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contents": [
{
"role": "user",
"parts": [
{ "text": "Return a JSON object with an answer and confidence." }
]
}
],
"generationConfig": {
"responseMimeType": "application/json",
"responseSchema": {
"type": "object",
"properties": {
"answer": { "type": "string" },
"confidence": { "type": "number" }
},
"required": ["answer", "confidence"]
}
}
}'Paramètres
- Segment de chemin
{model}(requis) — ID modèle public retourné parGET /v1/models. contents(array, requis) — Tours de conversation avecroleetpartsGemini.generationConfig(object, optionnel) — Supporte des champs commemaxOutputTokens,temperature,topP,stopSequences,responseMimeType,responseSchemaet_responseJsonSchemaquand la route provider sélectionnée les supporte.stream: truen’est pas valide surgenerateContent; appellestreamGenerateContentpour le streaming.
Authentification
- Les routes Gemini acceptent
Authorization: Bearer pa_YOUR_KEY. - Elles acceptent aussi
x-api-key: pa_YOUR_KEYetx-goog-api-key: pa_YOUR_KEYpour les clients style Gemini. - Utilise ta clé API client Prismatic ; n’expose jamais les clés provider upstream.
Streaming
streamGenerateContentretourne des server-sent events avec des chunksdata: {GenerateContentResponse}.- Les clients doivent consommer le stream jusqu’à la fin pour capturer l’usage final nécessaire au billing.
- Les chunks finaux incluent
usageMetadatastyle Gemini quand l’usage upstream est disponible.
Mode JSON et structured outputs
- Définis
generationConfig.responseMimeTypesurapplication/jsonpour le mode JSON. - Utilise
generationConfig.responseSchemaou_responseJsonSchemapour les structured outputs. - Prismatic valide les schémas avant le routage upstream ; un champ listé dans
requireddoit aussi exister dansproperties. - Les schémas invalides retournent
invalid_response_format_schema; les routes provider incompatibles retournentunsupported_response_formatavant tout appel upstream.
Notes de routage
- Les routes provider Gemini natives reçoivent directement le payload Gemini.
- Les providers compatibles OpenAI ou Anthropic ne peuvent être utilisés que si la requête Gemini est transposable.
- Les requêtes qui exigent des fonctionnalités Gemini natives sans route provider compatible retournent
unsupported_gemini_feature.