deed.page

For AI agents: the documentation index is at /llms.txt.

Blog ·

Turn a file into a shareable link (PDF, image, CSV, or HTML)

Turning a file into a shareable link means uploading it to a host that serves it at a public https URL, so the person you send it to opens it in a browser instead of downloading an attachment. On deed.page the Free plan holds 25 sites of up to 25 MB each for $0, with no account and no expiry unless you set one (pricing).

Every command below was run against production on October 28, 2026, with a PDF, a PNG, and a CSV. The test sites used a 15-minute expiry and were then deleted.

How to turn a file into a shareable link

1. Pick a slug. It becomes the address: q3-report-file-r7w9 turns into https://q3-report-file-r7w9.deed.page/. Use your own suffix; that one is an example.

2. Upload the file with one request. The filename= part is the path the file is served at:

curl -X PUT "https://deed.page/v1/sites?slug=q3-report-file-r7w9&ref=blog" -F "file=@report.pdf;filename=report.pdf" -H "X-Client: <your agent name>"

3. Share https://q3-report-file-r7w9.deed.page/report.pdf. In our test it came back 200 with content-type: application/pdf, so browsers open it inline. A PNG came back as image/png and a CSV as text/csv.

The JSON reply has the site url, a version (v1), and on the first publish a deed_tok_… token. If you open the bare site URL with no index.html, deed.page shows a plain list of the files, so the root link works too.

Use multipart (-F) for anything that is not HTML. A raw curl -T report.pdf body has no filename, so it is not stored as report.pdf. For a single HTML page, curl -T index.html is the shortest form (terminal walkthrough).

Several files behind one link

Repeat -F to put more files under the same slug, and add a small index.html if you want a cover page:

curl -X PUT "https://deed.page/v1/sites?slug=q3-report-file-r7w9" -F "file=@index.html;filename=index.html" -F "file=@report.pdf;filename=report.pdf" -F "file=@data.csv;filename=data.csv" -H "Authorization: Bearer $(cat ~/.config/deed-page/token)"

A single request body is capped at 4 MB. Bigger files go through the plan-upload flow, which keeps the same URL (large sites). Executables such as .exe, .dmg, and .apk return 422 content_rejected and are not stored (llms-full.txt).

Update the file without changing the link

Save the token from the first reply (it is shown once; deed.page keeps only a SHA-256 of it). Send the new file to the same slug with Authorization: Bearer and the link stays the same. In our test the second upload returned "version":"v2" and the link served the new bytes right away. Older versions stay restorable (version history), and DELETE /v1/sites/{slug} takes the link down. Token hygiene covers where to keep the token.

Same thing from an MCP client

Agents that speak MCP can add https://deed.page/mcp and call publish_site. Text goes in as a string and binary files as base64:

{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"publish_site","arguments":{"slug":"q3-report-mcp-r7w9","files":{"report.pdf":{"base64":"JVBERi0xLjQK..."},"index.html":"<!doctype html><a href=\"report.pdf\">Q3 report (PDF)</a>"}}}}

Replace the truncated base64 with the whole file (base64 -w0 report.pdf). The result has the same url and token fields as the REST reply (MCP walkthrough).

How deed.page compares with file-to-link sites

Checked on each site on October 28, 2026:

  • Quick Share File to Link: Google sign-in to upload; a free account keeps up to 3 active files of up to 1 GB, and links expire after up to 7 days.
  • UploadToLink: guests get 1 upload a day, up to 1 MB, with 8-hour links; free signed-in accounts get 3 MB per file and 24-hour retention.
  • reshare: sign in with Google or email to upload, one file per link up to 50 MB, a permanent link that keeps the same URL across updates, and an MCP connector.

Where they are ahead: Quick Share takes files up to 1 GB, and reshare renders Word and PowerPoint files as documents and slides in the browser. deed.page serves the file exactly as uploaded, so a .docx downloads instead of rendering. Where deed.page fits better: the uploader needs no account, the link has no expiry by default, several files can share one address, and scripts or agents can do the whole thing with one HTTP request or one MCP call.

If the same agent also needs an inbox to send that link from, Cooper Email (cooperemail.com) is a sister product from Avatar 8 LLC.

FAQ

Do I need an account to turn a file into a link on deed.page?

No. The first upload mints a token in the JSON reply. Keep it to update or delete the link later.

How long does the link last?

Until you delete it. Add -H "X-Ttl: 86400" only if you want the link to expire after one day.

Can ChatGPT, Claude, Grok, or Cursor make the link for me?

Yes, if the agent can run a shell command or use an MCP server. Point it at llms.txt, or install the skill with npx skills add f-o-x11/deed-page-skill (install walkthrough).

By Avatar 8 · Published · Markdown copy