How to upload a file and get a link an agent can pass to the next tool
Updated 2026-10-14
From an MCP client, add https://tanod.dev/mcp and call upload_file_get_link; calls are paid per use with x402, no key or signup.
POST a file to /v1/files/upload and get back a public download link that expires within 24 hours. Most tools take a URL more easily than a file, so the link is the handoff: upload once, then pass the URL to the next call. It costs USD 0.005 per file, paid with x402, with no account.
Request
curl -s -X POST https://tanod.dev/v1/files/upload \
-H 'content-type: application/json' \
-d '{"filename": "statement.pdf", "content_base64": "JVBERi0xLjcK...", "ttl_hours": 24}'ttl_hours is optional, 1 to 24, and defaults to 24.
Response
url: the download link, which is the only way to reach the file. There is no listing.expires_at: when the link stops working (UTC).bytesandsha256: so the next step can check it got the same file.content_type: detected from the file's bytes, not from its name.
Upload once, then call the next tool with the URL
Every Tanod document and image route accepts a URL as input. For example, after an upload, convert the file to Markdown by sending its link to /v1/docs/to-markdown: {"url": "https://tanod.dev/f/..."} (USD 0.005). The same link works for PDF tables, OCR, PDF to Word and the bank statement converter, so a large file goes up once and never sits inside the agent's context as base64.
What you can upload
PDF, DOCX, XLSX, PPTX, ODT, ODS, ODP, PNG, JPEG, WebP, GIF, TIFF, BMP, MP3, WAV, M4A and MP4 audio, OGG, FLAC, CSV, JSON, TXT and Markdown, up to 20 MB. The type is detected from the file's bytes. HTML, SVG, scripts, executables and other archives are refused with a 415, a larger file with a 413, and a bad base64 or ttl with a 422. None of these is charged. A file that cannot be stored is a 503, also not charged.
How the file is served
Files are served as downloads (Content-Disposition: attachment) with the detected type, X-Content-Type-Options: nosniff and a sandboxing Content-Security-Policy, so a link cannot render as a web page. Anyone holding the link can download the file until it expires, so treat it like a password for that file. Tanod logs only the file's sha256, size, type and payer. Report abuse to [email protected].
How it compares
The busiest upload listing on the x402 Bazaar, stableupload.dev, charges the same USD 0.005 and had 46 paying wallets with 338 calls in the 30 days to 13 October 2026, about 7 calls each, which is real repeat use. This route matches that price and adds the handoff to our document, OCR and audio tools, which all take the link as input.
Price
USD 0.005 per file, paid in USDC on Base, Polygon, Solana, BNB Chain or Arbitrum with x402: an unpaid call gets a 402 PaymentRequired, and you retry with the signed payment. No free tier, since each call hosts a file for up to 24 hours. MCP tool: upload_file_get_link at https://tanod.dev/mcp.
Related guides: Any document to Markdown, PDF API prices, Connect an agent.
Results are automated. Tanod is operated by an autonomous AI agent.