Skip to main content

Intelligent
infrastructure
for
every file in your
app

Uploads, processing, storage and delivery that understand
what's in every file, set up by your agent in one prompt.

Set up in minutes, scale without a rewrite

Let your coding agent add Playbook to your app, or make the calls yourself.

~/saltwood · claude
  1. Install

    claude plugin marketplace add playbook-labs/mcp-pluginsclaude plugin install playbook@playbook-plugins

    Then run /mcp and sign in to Playbook.

  2. Ask

    Add Playbook to this app and upload the images in /public.

You'll need an API key to start. Sign in to Playbook to get one, no approval needed. Get an API key →

llms.txt

The whole developer corpus in one file, for any agent that doesn't speak MCP.

Connect to Playbook MCP

Add Playbook to Claude, ChatGPT or any MCP client, then find, tag and share files by asking.

Already on Playbook?

Create a key and start building on it.

Handle entire media lifecycle, out of the box

Uploads, processing, delivery, storage and access, behind one API key.

File uploader

A drop-in picker, URL and folder import.

Processing

Resize, convert and tag every upload.

Image delivery

One URL, served as AVIF or WebP.

Video streaming

Three renditions and scrub thumbnails.

Storage

S3, GCS or R2 as primary, with replicas.

Access control

Short-lived tokens and signed webhooks.

Everything included.

  • AssetPickerDevice, camera, link and Dropbox, resumable.
  • Signed uploadsMultipart for big files, 100 per batch.
  • URL ingestSingle or 100 per call, fetched in the background.
  • Folder importDropbox and Drive, re-synced by content hash.
  • Drop linksNo account, with password and expiry.
  • MCP uploadsAgents send bytes without your key.
  • Stored onceChecksummed, repeats merge into one asset.
  • Readable failuressource_error says why a fetch failed.
  • Your own metadataUp to 4 KB of JSON on every asset.

A working files uploader from day one

Handles big files, links and Drive or Dropbox folders and stores each file once.

Sources
Style
RO

JPG, PNG or HEIC. Square works best.

NameRina Okafor
CityLisbon

Drag a photo onto the uploader

Sources

One pipeline, whichever way the file arrives.

Deduplication

Two uploads of the same bytes become one asset.

Folder sync

Re-run an import and only what changed comes in.

Deliver the right image at the right size, everytime

Resize, convert, watermark and lock down any image, without running an image server.

800 px1067 px

Ask for any width and the height follows. Every size comes from the one original.

Width
800 px
Height
1067 px
Size
61 KB
Request
POST/assets/permalink_urls?width=800

→ …/rs:fit:800:0/….webp

Placeholder colors

Each asset's average color fills the grid before images load.

// next.config.js
images: {
remotePatterns: [{ hostname: 'img.playbook.com' }],
}
// page.tsx
<Image
src={asset.permalink}
width={800}
height={1067}
style={{ backgroundColor: asset.average_color }}
/>

Works with next/image

Allow one host, pass the permalink, and paint the average color while it loads.

coming soon

Automate your image pipeline

Attach a flow to a folder. Every photo that lands there gets cut out, squared, converted and tagged before anyone asks for it.

Drop them here or browseJPG, PNG or WebP

chair_0412.jpg · 3000 × 4000 · 6.8 MB

Instant video playback, at every resolution

Encoded once, with scrub previews and captions, ready for any player.

review.mp4processing1080p · 0:08 · 1.7 MB

Scrub previews

Slide across a video and its frames follow the cursor, so you can find the moment without pressing play.

Adaptive streaming

One master.m3u8, and the player steps down to 720p or 360p when the connection does.

Plays on any device

One signed stream_url plays in Safari on iPhone, Chrome with hls.js, or VLC, with nothing else to sign.

Scoped access for your app, your agent and your team

Your API key stays on your server. Your app gets a short-lived token for one board, your agent signs in, and your people get links.

Your app

Your server trades its API key for a read-only token to one board. The browser keeps it for up to an hour.

Your agent

Add Playbook's MCP server to Claude, ChatGPT or Cursor and authorize once. No API key to paste.

Your people

One call returns a board link with a password and an expiry. Anyone with it can view or upload.

Built to pass your engineering review

Webhooks for every change, storage in your own bucket, and answers to what your security review will ask.

POSTapi.acme.com/hooks/playbook

Webhooks

Get a POST when an asset is added, updated or deleted on a board, with the asset and exactly what changed.

API reference

Your own bucket

Keep originals in your S3, GCS or R2 bucket. Playbook processes, searches and delivers on top.

Security review, answered

SSO and SCIM for your team, an audit log, encryption at rest, and signed URLs for anything that leaves.

Questions

Playbook API is the file layer for the app you're building. Your app uploads, processes, stores and delivers images, video and documents through one API. It's powered by the same platform managing over 400 million visual assets.

One API and one key cover uploads, image delivery, video streaming and storage. Every file is accessible through your workspace, where your team can search, comment on, approve and share it without you building an admin panel, and your coding agent can manage the same files through MCP.

Yes. Large files go up in parts through signed uploads, straight from the browser to storage, so they never pass through your server. You can send up to 100 files in one batch.

It's stored once. Playbook checks the contents of every upload, and a file with identical bytes merges into the asset that's already there instead of creating a copy. For AI-generated variants you want to keep separate, mark the upload as ai_generated and merging is switched off.

Keep your S3, GCS or R2 bucket as the primary store, and Playbook processes, searches and delivers on top of it. If you're moving from another provider, send up to 100 files URLs per call and Playbook fetches them in the background.

Not for your coding agent. It signs in to Playbook with your account the first time it connects. Your app's server uses an API key, which you create in the Playbook app with no approval needs.

Files are encrypted at rest, and anything that leaves Playbook goes through signed links that expire. Your team signs in with SSO, accounts are managed through SCIM, and every action is recorded in audit log.

Media at any volume

Two million people already keep their visual work in Playbook. The API you build on is the same one the app runs on.

  • 2M+people on Playbook
  • 450M+files stored
  • 99%uptime
  • Encrypted at rest
  • Signed URLs for everything that leaves
  • Two-factor authentication
  • SSO, SCIM and audit trails

Pay for what your app uses

Set a monthly budget and get a heads-up at 80%, not a dead app.

Free

For building and your first users.

$0a month

Included every month, before anything is metered.


  • 100 GB of storage
  • 300 assets
  • 1K API calls / month
  • Integrations & MCP access
  • Unlimited reviewers and approvers

API Platform

Usage

Usage-based pricing

Pay as you go

Metered on what your app uses.


  • Storage and delivery
  • Your own S3, GCS or R2 bucket
  • Processing and plugins
  • Unlimited reviewers and approvers
  • Video encoding
  • API, SDK and MCP
  • Webhooks
  • Budgets and alerts
  • Warner Bros.
  • Opendoor
  • Instacart
  • Luma AI
  • Keller Williams
  • Ace Hotel
  • YMCA

Your first upload is one call away.