Signatures
Building an ImageInput
ImageInput.bitmap is the Android-native path and the one you will use most.
From the photo picker
From CameraX
inFlight guard above is the minimum.
Always close() the ImageProxy, or the analyzer stalls after a few frames.
Streaming
Options
vlm takes the same LlmOptions as llm, so maxOutputTokens, temperature, and
systemPrompt all apply.
Models
VLM runs on the llama.cpp backend, so the model must be a GGUF vision model with its projector. Addrunanywhere-llamacpp and pick a VLM entry from the catalog.