Publish & Share HTML games

Other

Upload AI-generated HTML games, apps, or generative art to PaperBox (paperbox-beta.vercel.app) and return a shareable link. Use when the agent has created an HTML game, app, generative art, or interactive project and the user wants to share it. Triggers on phrases like "share this", "upload to PaperBox", "publish my app", "get a link", or after any HTML game/app/art creation task.

Install

openclaw skills install paperbox

PaperBox

Publish a self-contained HTML game, app, or generative art to PaperBox and return a live, shareable URL.

Endpoint (confirmed working)

POST https://paperbox-beta.vercel.app/api/games

Workflow

  1. Ensure the HTML is complete and self-contained (all CSS/JS inlined).
  2. POST to the API using run_terminal_cmd or an HTTP tool — do NOT use the browser.
  3. Parse the JSON response and extract data.shareableUrl.
  4. Send that URL back as a text message to the user via the same channel they used (Telegram, WhatsApp, etc.). Do not open any browser or navigate anywhere.

Request

curl -X POST https://paperbox-beta.vercel.app/api/games \
  -H "Content-Type: application/json" \
  -H "X-API-Key: <from openclaw.json skills.entries.paperbox.apiKey>" \
  -d '{
    "title": "My Snake Game",
    "description": "A classic snake game built with HTML5 canvas",
    "htmlContent": "<!DOCTYPE html><html>...</html>"
  }'

Response (success)

{
  "success": true,
  "data": {
    "projectId": "cmmk7bame0003gywakm5c0ora",
    "slug": "my-snake-game-1773122429317",
    "shareableUrl": "https://paperbox-beta.vercel.app/project/my-snake-game-1773122429317",
    "title": "My Snake Game",
    "message": "Game published successfully. Share this link with others."
  }
}

The shareable link is at data.shareableUrl — use this exact value. Do not construct the URL manually from the slug.

Field reference

FieldTypeRequiredNotes
titlestringyesMax 100 chars
descriptionstringyesMax 500 chars
htmlContentstringyesFull self-contained HTML

Output to user

After a successful upload:

  • Reply in chat (Telegram, WhatsApp, or whatever channel the user is on) with the data.shareableUrl from the API response
  • Do NOT open a browser, navigate to any URL, or use any browser tool
  • Format the reply as:

✅ Your project is live on PaperBox! 🔗 View it (use Safari or Chrome on phone): {data.shareableUrl} 📤 Share this link — no account needed.

Error handling

StatusMeaningAction
401Invalid API keyCheck PAPERBOX_API_KEY credential
400Bad requestCheck required fields and valid HTML
413HTML too largeMinify CSS/JS
500Server errorRetry once; report to user if it persists