Controlled generation JSON output with predefined schema

This code sample demonstrates how to use the `response_mime_type` and `response_schema` parameters to get a response that follows the JSON format and schema that you've defined.

Code sample

C#

Before trying this sample, follow the C# setup instructions in the Vertex AI quickstart using client libraries. For more information, see the Vertex AI C# API reference documentation.

To authenticate to Vertex AI, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.

public async Task<string> GenerateContentWithResponseSchema2(  string projectId = "your-project-id",  string location = "us-central1",  string publisher = "google",  string model = "gemini-2.0-flash-001") {  var predictionServiceClient = new PredictionServiceClientBuilder  {  Endpoint = $"{location}-aiplatform.googleapis.com"  }.Build();  var responseSchema = new OpenApiSchema  {  Type = Type.Array,  Items = new()  {  Type = Type.Object,  Properties =  {  ["rating"] = new() { Type = Type.Integer },  ["flavor"] = new() { Type = Type.String }  },  Required = { "rating", "flavor" }  }  };  string prompt = @"  Reviews from our social media:  - ""Absolutely loved it! Best ice cream I've ever had."" Rating: 4, Flavor: Strawberry Cheesecake  - ""Quite good, but a bit too sweet for my taste."" Rating: 1, Flavor: Mango Tango";  var generateContentRequest = new GenerateContentRequest  {  Model = $"projects/{projectId}/locations/{location}/publishers/{publisher}/models/{model}",  Contents =  {  new Content  {  Role = "USER",  Parts =  {  new Part { Text = prompt }  }  }  },  GenerationConfig = new GenerationConfig  {  ResponseMimeType = "application/json",  ResponseSchema = responseSchema  },  };  GenerateContentResponse response = await predictionServiceClient.GenerateContentAsync(generateContentRequest);  string responseText = response.Candidates[0].Content.Parts[0].Text;  Console.WriteLine(responseText);  return responseText; }

What's next

To search and filter code samples for other Google Cloud products, see the Google Cloud sample browser.