Intelligent
infrastructure
for
every file in your
app
Over two million creatives, and world-class brands
Set up in minutes, scale without a rewrite
Let your coding agent add Playbook to your app, or make the calls yourself.
Install
claude plugin marketplace add playbook-labs/mcp-pluginsclaude plugin install playbook@playbook-pluginsThen run /mcp and sign in to Playbook.
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 →
Add the MCP server
https://mcp.playbook.com/mcpAuthorize once in your browser.
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 →
Add the MCP server
https://mcp.playbook.com/mcpAllow it once in your browser.
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 →
Add your key
export PLAYBOOK_API_TOKEN=<your key>Keep it on your server, never in the browser.
Make your first call
POST https://api.playbook.com/v1/<org>/assetsSend a file URL, get the asset back. Copy gives you the full curl.
You'll need an API key to start. Sign in to Playbook to get one, no approval needed. Get an API key →
Connect to Playbook MCP
Already on Playbook?
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.
- 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.
- ResizeAny size, cover or contain.
- ConvertAVIF, WebP, JPEG and PNG.
- ThumbnailsStills and video frames.
- Video playbackHLS ladder and MP4 fallback.
- TranscriptionVTT, SRT and plain transcript.
- AI taggingConfidence and your own vocabulary.
- WatermarkerTiled or placed, any opacity.
- Partner pluginsPhotoroom, Picsart, Vectorizer, Flux.
- TriggersBy library, folder or file type.
- Any width or heightAspect kept, from the same URL.
- Format autoAVIF or WebP, whichever the browser takes.
- QualitySet per request.
- Signed URLsExpiry and allowed origins.
- Custom domainServed from media.yours.com.
- Cache controlSet how long the edge keeps it.
- Average colorPaint the grid before images load.
- PaletteDominant colors, most dominant first.
- OriginalsByte for byte, always.
- HLS1080p, 720p and 360p from one manifest.
- MP4 fallbackFor players that need a file.
- PosterReady for a grid or video poster.
- Scrub thumbnailsA frame every 10 seconds.
- CaptionsVTT and SRT from the transcript.
- Encode on demandOn upload or on first play.
- RetryA stalled encode restarts with one call.
- VideoPlayerCaptions and thumbnails built in.
- OriginalsThe uploaded file, untouched.
- Playbook storageNothing to set up.
- Your bucketS3, GCS or R2 as primary.
- ReplicasMirror to a second bucket.
- RetentionRules per library.
- TrashRecover what was deleted.
- Dedupe statsSee what stored-once saved.
- VersionsUnlimited history on every asset.
- ExportEverything, with tags and fields.
- ArchiveOut of the way, still searchable.
- Library keysEach with its own capabilities.
- Scoped tokensShort-lived, per library or folder.
- WebhooksUploaded, completed and failed, signed.
- Delivery logEvery attempt, with test events.
- UsageProcessing, storage, delivery, requests.
- BudgetsMonthly, with an 80% alert.
- AnalyticsWhat gets viewed and from where.
- SSO and SCIMWith audit trails.
- MCPOne URL for any agent.
A working files uploader from day one
Handles big files, links and Drive or Dropbox folders and stores each file once.
JPG, PNG or HEIC. Square works best.
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.
Ask for any width and the height follows. Every size comes from the one original.
- Width
- 800 px
- Height
- 1067 px
- Size
- 61 KB
POST/assets/permalink_urls?width=800→ …/rs:fit:800:0/….webp
WebP or AVIF for browsers, JPEG or PNG wherever else you need it. The original stays as uploaded.
- Format
- AVIF
- Size
- 128 KB
- vs JPEG
- −69%
POST/assets/transform?width=1600&format=avif{ tokens: [...] }→ ….avif
Stamp previews for clients or stock buyers, tiled or in a corner.
- Layout
- Tiled
- Opacity
- 30%
- Original
- untouched
POST/assets/transform{ watermark: { layout: 'tiled', opacity: 0.3 } }→ a stamped render, original untouched
A public link that never expires, or a signed one that does. The signed clock here runs two hours in five seconds.
- Expires
- Within 2 h
- Login
- Not needed
- Store it
- No
POST/assets/transform?width=1600{ tokens: [...] }→ signed URL, expires within 2 hours
Placeholder colors
Each asset's average color fills the grid before images load.
// next.config.jsimages: {remotePatterns: [{ hostname: 'img.playbook.com' }],}// page.tsx<Imagesrc={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.
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.
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.
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.
Webhooks
Get a signed POST when an asset is added, changed, approved or trashed, with the asset and what changed.
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.
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
Customer stories
A homebase for top
creative teams everywhere.
The speed and quality of responses have genuinely impressed us and made a big difference to our day to day.
We have a plan for all your files
Try it free, and the only thing that scales is your team.
Free
$0 always
No credit card required
- 100GB storage or 300 assets
- 1 member, 3 guests
- Import from external DAMs
- 1K API calls per month
Pro
$10 /month/member
Billed yearly — save 45%
- 2TB storage
- + 1TB per additional member
- Unlimited guests
- 20K API calls per month
Team
$20 /month/member
Billed yearly — save 20%
- 3TB storage
- + 2TB per additional member
- Conversational search
- 200K API calls per month
Enterprise
Custom
Only pay for what your team needs
- 15TB storage
- Unlimited members
- White-glove migration
- 5M API calls per month
Every plan includes the API, SDK and MCP. Paid plans can go past their included calls with usage billing.
Encrypted at rest. Two-factor authentication. Malware scanned on upload. Private until you make a link.




