Isolated, agent-native sandboxes for code execution, live preview URLs, browser automation, 50+ tools (ffmpeg, sqlite, pandoc, imagemagick), LLM inference, and persistent memory — all via CLI or HTTP, no SDK or API keys required. Billed per second of compute usage and topup via stripe or x402.
curl -X POST https://paperpod.dev/login -d '{"email":"you@email.com"}' # Verify and get token
npm install -g @paperpod/cli
ppod login <token> && ppod help
Step 1: Get a token
curl -X POST https://paperpod.dev/login -d '{"email":"you@email.com"}'
# Check email → click magic link → copy token (pp_sess_...)
Step 2: Use the token (pick one method)
| Method | How | Best for |
|---|---|---|
| -------- | ----- | ---------- |
| CLI login | ppod login pp_sess_... | Everyday, Interactive use |
| Env var | export PAPERPOD_TOKEN=pp_sess_... | Scripts, CI/CD |
| Per-request | -H "Authorization: Bearer pp_sess_..." | HTTP one-shots |
Tokens expire in 15 days. On EXPIRED_TOKEN error, re-authenticate via POST /login.
The CLI is the easiest way to use PaperPod. It handles streaming, sessions, and reconnection automatically.
| Category | Command | Description |
|---|---|---|
| ---------- | --------- | ------------- |
| Sandbox | ppod exec | Run shell command |
ppod write | Write file (stdin if no file) | |
ppod read | Read file | |
ppod ls | List directory | |
| Processes | ppod start | Start background process |
ppod ps | List processes | |
ppod kill | Stop process | |
| Ports | ppod expose | Get public URL (-q for URL only) |
| Browser | ppod browser:screenshot | Capture webpage |
ppod browser:pdf | Generate PDF | |
ppod browser:scrape | Scrape elements (default: body) | |
ppod browser:markdown | Extract markdown | |
ppod browser:content | Get rendered HTML | |
ppod browser:test | Run Playwright tests | |
ppod browser:acquire | Acquire reusable session | |
ppod browser:connect | Connect to existing session | |
ppod browser:sessions | List active sessions | |
ppod browser:limits | Check browser limits | |
| AI | ppod ai | Text generation |
ppod ai:embed | Generate embeddings | |
ppod ai:image | Generate image | |
ppod ai:transcribe | Transcribe audio | |
ppod ai:models | List available AI models | |
| Code | ppod interpret | Rich output (charts) |
| Memory | ppod mem:write | Persist data |
ppod mem:read | Read persisted data | |
ppod mem:ls | List memory files | |
ppod mem:rm | Delete from memory | |
ppod mem:usage | Check quota | |
| Account | ppod balance | Check credits |
ppod status | Connection info | |
ppod help | Show all commands | |
ppod | Help for specific command |
Update CLI: npm update -g @paperpod/cli
# Execute code
ppod exec "python -c 'print(2+2)'"
ppod exec "npm init -y && npm install express"
# Start server + expose (--bind 0.0.0.0 required for public access)
ppod start "python -m http.server 8080 --bind 0.0.0.0"
ppod expose 8080 # → https://8080-{sandbox-id}-p8080_v1.paperpod.work (stable URL)
# Browser with tracing
ppod browser:screenshot https://example.com --trace debug.zip
# Persistent storage (survives sandbox reset)
echo '{"step":3}' | ppod mem:write state.json
# Built-in tools (50+ available: ffmpeg, sqlite3, pandoc, imagemagick, git, jq, ripgrep...)
ppod exec "ffmpeg -i input.mp4 -vf scale=640:480 output.mp4" # Video processing
ppod exec "sqlite3 data.db 'SELECT * FROM users'" # Database queries
ppod exec "convert image.png -resize 50% thumbnail.png" # Image manipulation
Use HTTP for one-shot tasks or when CLI isn't available. Run curl https://paperpod.dev/docs or visit https://paperpod.dev/docs for full API reference.
| Endpoint | Purpose |
|---|---|
| ---------- | --------- |
POST /execute | Run code (python, javascript, shell) |
POST /execute/stream | Stream output (SSE) |
POST /files/write | Write file |
POST /files/read | Read file |
POST /files/list | List directory |
POST /process/start | Start background process |
POST /process/list | List processes |
POST /expose | Get preview URL for port |
POST /memory/write | Persist data |
POST /memory/read | Read persisted data |
POST /browser/screenshot | Capture screenshot |
POST /browser/pdf | Generate PDF |
POST /browser/markdown | Extract markdown |
POST /ai/generate | Text generation |
POST /ai/embed | Embeddings |
POST /ai/image | Image generation |
GET /ai/models | List models |
# Execute shell command
curl -X POST https://paperpod.dev/execute \
-H "Authorization: Bearer $PAPERPOD_TOKEN" \
-d '{"code": "ls -la", "language": "shell"}'
| Category | What you can do |
|---|---|
| ---------- | ----------------- |
| Code Execution | Python, JavaScript, shell commands |
| Processes | Background servers, long-running jobs |
| Preview URLs | Expose ports → https://8080-{sandbox-id}-p8080_v1.paperpod.work |
| Agent Memory | 10MB persistent storage (R2) |
| Browser | Screenshots, PDFs, scraping (Playwright) |
| AI Models | Text, embeddings, images, transcription |
| Files | Read/write, git, bulk operations |
| Category | Tools |
|---|---|
| ---------- | ------- |
| Runtimes | python, node, npm, bun, pip |
| Version Control | git, gh (GitHub CLI) |
| HTTP & Networking | curl, httpie, jq, dig, ss |
| Search & Text | ripgrep (rg), find, sed, awk, tree |
| Media & Docs | ffmpeg, imagemagick, pandoc |
| Build & Data | make, sqlite3, tar, gzip, zip, unzip |
/memory/*) for persistence/workspace — relative paths like file.txt resolve to /workspace/file.txt0.0.0.0 for public accessbrowser:acquire for multi-command session reuse, --trace to capture Playwright traces$0.0001/sec compute + browser, $0.02/1K neurons AI. New accounts get $5 free (~14 hours), no credit card required.
ppod help — CLI command referenceGET https://paperpod.dev/ — API schema (JSON)GET https://paperpod.dev/docs — Full documentationGET https://paperpod.dev/docs to learn more. 共 1 个版本