Skip to documentation
quickS3.com Open app
Browse documentation
AI agents

How AI file transfers work

How an AI client downloads and uploads files with short-lived links that never pass file contents through quickS3, and why some clients only browse.

AI user Owner Admin

File contents never pass through quickS3’s MCP server. Instead, quickS3 gives the AI client a short-lived link, and the client moves the file itself, straight to or from your storage provider.

Downloads

  1. The client calls create_download_link for a file.
  2. quickS3 returns a link that works once, for 5 minutes.
  3. The client opens the link, for example with curl -L -o report.pdf "<link>". quickS3 checks the access again, records the download, and forwards the client to your storage provider, which sends the file.

Uploads

  1. The client calls create_upload_url with the file’s path and size.
  2. quickS3 checks Write access and the size limits, and returns an upload link that works for 15 minutes, plus any headers the upload must include.
  3. The client sends the file to that link, for example with curl -T report.pdf "<link>", including every header it was given.

By default, an upload won’t replace an existing file. The client has to ask you first, then try again with overwrite switched on.

Uploads go in one piece, so an AI client can upload files up to 5 GB, or less if the connection has a lower limit. For bigger files, use the quickS3 web app, which splits them into parts.

Why some clients can only browse

Listing files only needs the client to call quickS3’s tools. Moving a file needs the client to make an HTTP request itself. Coding assistants like Claude Code and Codex can do that. Chat apps often can’t, so they’ll list your files and then fail to download one.

If that happens, use a client that can run commands, or the web app. Don’t paste links into a chat to get around it: anyone with a link can use it until it expires.