func TextGenMultimodalMultiImagePrompt()

in go/text_generation.go [144:194]


func TextGenMultimodalMultiImagePrompt() (*genai.GenerateContentResponse, error) {
	// [START text_gen_multimodal_multi_image_prompt]
	ctx := context.Background()
	client, err := genai.NewClient(ctx, &genai.ClientConfig{
		APIKey:  os.Getenv("GEMINI_API_KEY"),
		Backend: genai.BackendGeminiAPI,
	})
	if err != nil {
		log.Fatal(err)
	}

	organ, err := client.Files.UploadFromPath(
		ctx, 
		filepath.Join(getMedia(), "organ.jpg"), 
		&genai.UploadFileConfig{
			MIMEType : "image/jpeg",
		},
	)
	if err != nil {
		log.Fatal(err)
	}

	cajun, err := client.Files.UploadFromPath(
		ctx, 
		filepath.Join(getMedia(), "Cajun_instruments.jpg"), 
		&genai.UploadFileConfig{
			MIMEType : "image/jpeg",
		},
	)
	if err != nil {
		log.Fatal(err)
	}

	parts := []*genai.Part{
		genai.NewPartFromText("What is the difference between both of these instruments?"),
		genai.NewPartFromURI(organ.URI, organ.MIMEType),
		genai.NewPartFromURI(cajun.URI, cajun.MIMEType),
	}

	contents := []*genai.Content{
		genai.NewContentFromParts(parts, genai.RoleUser),
	}

	response, err := client.Models.GenerateContent(ctx, "gemini-2.0-flash", contents, nil)
	if err != nil {
		log.Fatal(err)
	}
	printResponse(response)
	// [END text_gen_multimodal_multi_image_prompt]
	return response, err
}