Skip to content

Built for AI agents

File uploads
for AI agents.

No signup. No API keys. No human in the loop. Your agent reads docs.putput.io, gets a token, and uploads files — completely on its own.

Paste into any AI coding tool

Works with Claude Code, Cursor, Copilot, Codex — any AI coding tool.

Your agent already knows it

Point your AI at docs.putput.io and it writes working upload code. No docs to read yourself.

No signup, no dashboard

Your agent gets a token in one API call. No account creation, no email, no key from a dashboard. You never leave your editor.

Ship in minutes, not hours

No AWS config, no storage infra, no deploy step. Paste a prompt, get file uploads. Push to prod.

Open source, auditable

The API, SDK, CLI, and llms.txt are all open source. Inspect everything your agent will run before it runs.

How it works

You paste one prompt. Your agent does the rest.

You

Paste a prompt

Tell your AI agent to add file uploads by reading docs.putput.io.

your AI tool

$ Add file uploads to my app by reading docs.putput.io

Agent

Reads the API docs

docs.putput.io serves a plain-text API reference optimized for LLMs — the full upload flow, auth, errors, and limits.

docs.putput.io
# PutPut API

File upload API. Get a CDN URL in 3 HTTP calls.
No signup, no API key, $0 egress.

## Upload flow (all API calls are server-side)
Base URL: https://putput.io/api/v1

### 1. Get a token ONCE (no signup)
POST /auth/guest → { "token": "pp_..." }
Save this token. Use it for ALL uploads.

### 2. Presign an upload
POST /upload/presign
Authorization: Bearer <token>
Body: { "filename": "photo.jpg", "content_type": "image/jpeg", "size_bytes": 102400 }
→ { "upload_id": "...", "presigned_url": "https://..." }

### 3. PUT file bytes (NO auth header)
PUT <presigned_url>
→ 200 OK

### 4. Confirm upload
POST /upload/confirm
Body: { "upload_id": "<upload_id>" }
→ { "file": { "public_url": "https://cdn.putput.io/..." } }
Agent

Writes working code

The agent implements the 4-step upload flow: get a token, presign, upload to R2, confirm. Or uses the SDK for a 3-line shortcut.

agent output
import { PutPutClient } from '@putput/sdk'

// ONE token per app — set PUTPUT_TOKEN in your env
const pp = new PutPutClient({ token: process.env.PUTPUT_TOKEN })
const file = await pp.upload(buffer, 'photo.jpg', 'image/jpeg')
console.log(file.url) // → https://cdn.putput.io/abc123/photo.jpg

Works with every AI tool

Any tool that can read a URL and write code.

Claude ChatGPT Cursor Windsurf Copilot Cline Aider Continue

If your tool can fetch a URL and generate code, it works with PutPut.

Power-user integrations

Most people just paste the prompt. But if you want more control:

Ready to try it?

Copy a prompt, paste it into your AI tool, and you're done.

v0.4.77