A client sends you an old .ppt deck and an .ods budget workbook. Your AI app needs to extract decisions, but manual conversion may alter layout and slow the response. On November 5, 2026, Google expanded the file formats accepted by the Gemini API. That may remove a conversion step; it does not mean the model reads every format or every worksheet in the same way.
What changed—and why the processing path matters
The official changelog adds PowerPoint 97–2003 (.ppt), OpenDocument Presentation (.odp), and OpenDocument Spreadsheet (.ods) inputs. It also adds page-image processing for .doc. The document guide explains the distinction: DOC, PPT, and ODP are rendered as page or slide images; ODS supplies data and formulas from the first sheet. Other sheets are ignored.
That affects product behavior. A slide with a chart or spatial layout may preserve useful context when Gemini sees a rendered PPT or ODP page. An ODS workbook allows questions about formulas on its first tab; an app should not claim to have analyzed tabs the model never received. For XLSX and XLS, Google says only the first sheet is converted to CSV values, without formulas or formatting. Existing DOCX and PPTX processing is unchanged, so this release does not turn those files into rendered page images.

A test you can run today
Create a non-sensitive ODP fixture with three slides: a table, a chart, and a footnote. Also create an ODS workbook with two tabs and put a distinctive total only on the second. That number is a control. If a response claims to know it from the unchanged workbook, inspect the file path and challenge the result. To analyze that tab, move it to the first position or export it separately.
With pip install google-genai and GEMINI_API_KEY set, Google's documented path uploads via the Files API and passes a document block. This example substitutes the official MIME type for ODP; replace the file path with yours:
from google import genai
client = genai.Client()
deck = client.files.upload(
file="brief.odp",
config={"mime_type": "application/vnd.oasis.opendocument.presentation"},
)
answer = client.interactions.create(
model="gemini-3.8-flash",
input=[
{"type": "document", "uri": deck.uri, "mime_type": deck.mime_type},
{"type": "text", "text": "List one decision per slide. Cite the slide number and say what is unreadable."},
],
)
print(answer.output_text)
Compare the response with all three slides. Accept it only if it attributes decisions to the right slides, handles the chart legend correctly, and flags unreadable material. Then try the ODS file with MIME application/vnd.oasis.opendocument.spreadsheet; ask for a formula on the first sheet and make sure it does not invent second-tab data. Check file-size, page, and model costs before processing a batch.
A second change for agent builders
The same release lets function responses return Office/OpenDocument files, audio, and video, or a Files API URI instead of inline bytes. That matters when a tool retrieves or creates a file for the model without flattening it into pasted text. It does not make arbitrary URLs accessible: follow the multimodal function-response documentation, validate actual file types, and protect private documents.
Verification status: formats, processing behavior, and code pattern come from Google's official docs. We checked the Python syntax locally, but did not make a billed API request. Before shipping, test representative files and inspect answers against originals, particularly charts and additional worksheets.
