How do you send pictures to an AI assistant?

Updated 2026-07-15590 searches/moRanked #465 of 519· AI explained
Short answer

In an app: tap the paperclip or camera icon, pick your photo, and type your question in the same message — always send both together. Via API: pass the image as a URL, base64 data URL, or file ID. PNG, JPEG, WEBP and non-animated GIF work, up to 512 MB and 1,500 images per request.

Why — the first-principles explanation

The mistake almost everyone makes is sending the picture alone and waiting. The model responds with a bland description of the photo, and you think it's dumb. It isn't — it doesn't know what you want. An image contains thousands of facts. Is your question about the text in it, the broken part, the plant species, the color, the person's expression? A photo with no question is an essay prompt with no topic, so the model does the only sensible thing and describes the obvious. Send the image and the question in the same message and the quality jumps immediately.

Mechanically, the model doesn't see pixels the way you do. Your image gets chopped into patches — small tiles converted into the same kind of tokens the model uses for words. Once that conversion happens, your photo is literally just more input sitting in the same context as your text, which is why the model can reason across both ('does this label match the recipe I pasted?'). It also explains the cost: more patches means more tokens means more money and more latency. The APIs expose this directly through a detail parameter — `low` shrinks the image to save tokens, `high` supports up to 2,500 patches or a 2048-pixel maximum dimension, and `original` preserves your input dimensions without resizing.

That mechanism produces the single most useful practical rule: crop before you send. If your question is about one line on a receipt, send that line. Sending the whole receipt spends the model's limited patch budget on the parts you don't care about, and small text gets compressed into mush. The failure mode people blame on "bad OCR" is usually just resolution being spent in the wrong place.

The limits are generous and rarely the problem: up to 1,500 images per request and 512 MB total payload, with PNG, JPEG, WEBP, and non-animated GIF supported. Three ways in: a fully qualified URL, a base64-encoded data URL, or a file ID created via the Files API. In consumer apps, all of this is hidden behind a paperclip icon.

One boundary worth naming. Google's guidance warns not to violate others' copyright or privacy rights, and Gemini may remove images when its systems detect a possible policy violation. Uploading a photo of your own broken dishwasher is uncontroversial. Uploading a photo of someone else's medical record, ID, or child is a different act, and the rules apply to AI processing with no exemption.

An example that makes it click

Handing an AI a photo with no question is like sliding a picture across a table to a stranger and staring at them. They'll say something polite and obvious: "Nice kitchen." They have no idea you're asking whether that pipe is leaking.

Slide the same photo over and say "is that pipe leaking?" and now they lean in and look at the pipe.

And if the pipe is a tiny thing in the corner of a wide shot, they'll squint and guess. Crop the photo down to the pipe first, and suddenly they can actually see it. The AI works exactly the same way — it has a limited budget of attention for your image, and cropping decides where that budget gets spent.

How to do it

  1. In a chat app (ChatGPT, Gemini, Claude): tap the paperclip or camera icon in the message box, choose Take Photo or Photo Library, and select your image.
  2. Type your question in the same message as the image before sending. A photo alone gets you a generic description because the model can't tell which of the thousand facts in it you care about.
  3. Crop tight to the subject first. The model has a limited patch budget for your image — a close crop of the one line you're asking about beats a wide shot every time, especially for small text.
  4. Be specific about the task: 'transcribe the handwriting in this photo,' 'what's wrong with this connector,' 'which of these two plants is safe for cats,' not 'what is this?'
  5. Send multiple images when comparison is the point — before/after, two parts, several angles of the same object. A single request supports up to 1,500 images.
  6. Via API, pass the image as a fully qualified URL, a base64 data URL (data:image/jpeg;base64,...), or a file ID from the Files API. Supported formats are PNG, JPEG, WEBP, and non-animated GIF.
  7. Tune the detail parameter for cost: 'low' to save tokens on simple questions, 'high' for fine text or small objects (up to 2,500 patches or 2048 px max dimension), 'original' to preserve exact input dimensions.
  8. Keep the total request under 512 MB; resize oversized photos beforehand rather than relying on the API to do it.
  9. Before uploading, check whose picture it is. Google's guidance warns against violating others' copyright or privacy rights, and images may be removed if systems detect a possible policy violation.

Key facts

Infographic: How do you send pictures to an AI assistant — short answer and key facts
Visual summary — How do you send pictures to an AI assistant?
▶ The 60-second explainer (script)

How do you send a picture to an AI? In any app, it's the paperclip or camera icon. But here's the part that actually matters, and it's why people think image AI is stupid. Don't send the picture alone. A photo contains thousands of facts — the text, the colors, the broken part, the plant, the person's expression. If you send it with no question, the model has no idea which one you care about, so it describes the obvious and you get a useless answer. Send the image and your question in the same message. Quality jumps instantly. Second rule: crop before you send. Your image gets chopped into patches and turned into tokens — the same kind of tokens as words. That budget is limited. High detail supports about twenty-five hundred patches, or a two-thousand-forty-eight pixel maximum dimension. So if you're asking about one line on a receipt, send that line. Send the whole receipt and the model spends its attention on the parts you don't care about, and the small text turns to mush. That's the thing people blame on bad OCR — it's usually just resolution spent in the wrong place. Developers: three ways in — a URL, a base64 data URL, or a file ID from the Files API. PNG, JPEG, WEBP, non-animated GIF. Up to fifteen hundred images and five hundred twelve megabytes per request. And one boundary: it's your dishwasher, fine. Someone else's ID or medical record — the privacy rules apply to AI with no exemption.

What authoritative sources say

OpenAI API — Images and vision guideofficial — Images are provided as fully qualified URLs, base64-encoded data URLs, or file IDs via the Files API; supported formats are PNG, JPEG, WEBP and non-animated GIF; limits are up to 1,500 images and 512 MB per request; detail levels control token cost with high detail supporting up to 2,500 patches or a 2048-pixel maximum dimension. source ↗
Google Gemini Apps Help — Generate and edit imagesofficial — Gemini supports uploading an image and asking for edits or combining multiple uploaded images; editing is restricted to users 18+; Gemini may remove images on detected policy violations and warns against violating others' copyright or privacy rights. source ↗
Federal Data Protection and Information Commissioner (FDPIC), Switzerlandgov — Data protection law applies directly to AI-supported data processing, with no AI-specific exemption — relevant when uploading images containing other people's personal data. source ↗

People also ask

Why does the AI just describe my photo instead of answering?

Because you sent the photo without a question. An image holds thousands of facts and the model can't guess which one you mean, so it describes the obvious. Put your question in the same message as the image.

What image formats and sizes work?

PNG, JPEG, WEBP, and non-animated GIF. A single request supports up to 1,500 images and 512 MB total. High-detail processing supports up to 2,500 patches or a 2048-pixel maximum dimension.

Why can't the AI read the small text in my photo?

Your image is being compressed across a limited patch budget, so fine text loses resolution. Crop tightly to the text you care about and send that, rather than a wide shot of the whole document.

How do developers send images through the API?

Three ways: a fully qualified URL, a base64-encoded data URL like data:image/jpeg;base64,..., or a file ID created through the Files API. Use the detail parameter to trade token cost against resolution.

Is it OK to upload photos of other people?

Be careful. Google warns against violating others' copyright or privacy rights and may remove images that trip policy detection, and data protection law applies to AI processing with no exemption. Your own broken appliance is fine; someone else's ID or medical record is not.

Related questions