structured output (JSON)
Force Gemini to return valid JSON matching a defined schema using response_mime_type and response_schema in generationConfig.
Syntax
gemini-api
{ responseMimeType: "application/json", responseSchema: { type, properties, required } }Example
gemini-api
const model = genAI.getGenerativeModel({
model: "gemini-1.5-pro",
generationConfig: {
responseMimeType: "application/json",
responseSchema: {
type: SchemaType.OBJECT,
properties: {
sentiment: { type: SchemaType.STRING, enum: ["positive","neutral","negative"] },
score: { type: SchemaType.NUMBER },
topics: { type: SchemaType.ARRAY, items: { type: SchemaType.STRING } },
},
required: ["sentiment", "score", "topics"],
},
},
});
const result = await model.generateContent("Analyze: Great API but slow cold starts.");
const data = JSON.parse(result.response.text());
console.log(data.sentiment); // "positive"