Which ID should I use to call Gemini 3.8 Flash?
Use gemini-3.8-flash. When maintaining message history and the tool loop yourself, you can use /gemini/chat/completions; if you want to continue a conversation with a session ID, you can use /aichat2/conversations or /aichat/conversations. v2 is more suitable for creating new tool-based assistants.
How do I submit an image for analysis?
In the Chat Completions message content, combine text and image_url content blocks, and place the image address in image_url.url. You can use a publicly accessible image URL or a Base64 data URI, and specify in the text the area, question, and expected output to analyze.
How do I choose the reasoning effort?
This model natively supports low, medium, and high, but does not support minimal. Lower reasoning effort can be used for simple tasks, while higher effort can be used for complex analysis; when calling through the platform, set the corresponding parameter only if the selected interface explicitly supports reasoning effort configuration for this model. For Chat Completions, it is recommended to set max_tokens above 512 and increase the budget according to task complexity, leaving room for both reasoning and the final answer; above 512 does not guarantee that the budget is sufficient.
Can it read PDFs and generate speech?
The model can natively understand PDFs, but its output is text and it does not support speech generation. When processing PDFs, you can use the file_url file-link content block in AI Chat v2 to complete summarization and Q&A through the file-reading workflow; Chat Completions image_url should not be used as a general file upload field.
How can I make the results easier for programs to process?
You can use response_format to select a JSON object or JSON Schema, and clearly specify field meanings, required fields, and how missing values should be handled. The client should still validate the returned structure and business rules; when business functions need to be called, use tools to define functions, then process the call parameters and fill in the execution results.