How are you structuring image inputs for reliable results with Gemini API?

I’m looking at different approaches for building applications that use multimodal AI for image analysis, and I’m interested in how other developers are structuring their image-processing workflows with the Gemini API.

Computer vision applications can involve image classification, object detection, image understanding, document analysis, and other visual tasks. The implementation details seem to matter quite a bit, particularly around image quality, input format, prompting, preprocessing, and how multiple images are passed to the model.

For example, when building an image-based application, how do you decide between:

  • Sending image data directly with the request
  • Uploading files and referencing them
  • Processing or resizing images before sending them
  • Using multiple image parts within the same request
  • Separating image analysis into multiple API calls

I’m also curious about how developers evaluate reliability when the same workflow needs to handle different image resolutions, formats, backgrounds, or levels of visual complexity.

For anyone working on computer-vision applications with Gemini, what has worked well for you in practice?