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
}