Multimodal input in the Playground
Gemini models in the Playground accept more than text. What you can attach depends on the model you have selected — the model picker shows each model's input badges, and the attach button only offers formats the current model can actually read.
What each input does
| Input | How it reaches the model | Which models |
|---|---|---|
| Image | Natively — the model sees the image | Gemini 2.5 / 3 families |
| Natively when supported, otherwise its text layer is extracted | Gemini 2.5 / 3 families | |
| Audio | Natively — the model hears it | Gemini 2.5 / 3 families |
| Video | Natively (mp4) | Gemini 2.5 / 3 families |
| Text / code files | Text is extracted and injected into the message | Any model |
Text-only models (DeepSeek, Kimi, Qwen) accept text-file attachments, because those become text. They cannot take image, audio or video.
Switching models with an attachment
If you attach a file and then switch to a model that cannot read it, the Playground blocks sending and tells you to remove the attachment or pick a different model. It never silently drops the file, and it never quietly OCRs an image into text behind your back.
Limits
- Up to 3 files per message
- Each file ≤ 50 MB
- Native media (image / audio / video) inline is capped at 15 MB per file — a lower, separate ceiling from the 50 MB text-extraction limit
- Text extraction: ~100,000 characters per file, ~150,000 per message, truncated with a notice beyond that
- Scanned PDFs are not OCR'd — a PDF with no text layer reports that nothing could be extracted
See File upload for the full format list.
Privacy
Files are encoded in the browser and sent with the request. They are not stored on Mafdet servers, and file contents, base64 payloads and extracted text never appear in logs.
Generated images are previewed and downloadable, but are not persisted into a saved conversation — reopening a session shows a placeholder rather than the image.
Billing
Playground calls draw on your Playground credit, never the API wallet. Attachments are billed as ordinary input tokens by the model that reads them — a large PDF or a video is not free just because it came from the Playground.