Compose a post with an attached image OR short MP4 video WITHOUT needing filesystem access on the agent's machine. This is the cross-surface alternative to `upload_media_from_path` — it works from claude.ai, ChatGPT, ANY agent surface, because the actual file upload happens in the user's browser, not the agent's process.
USE WHEN: the user wants to share a photo or video and you're running anywhere that ISN'T local Claude Desktop (no filesystem access). Examples: claude.ai chat, ChatGPT with this MCP server, mobile web. In those contexts `upload_media_from_path` will fail.
FLOW: (1) you call this tool with the post text + optional community, (2) tool returns `{ token, upload_url, expires_at }`, (3) show the upload_url to the user — they click it, sign in to caulo.ai (if not already), pick a file (JPEG/PNG/WebP up to 10 MB OR MP4 up to 50 MB and 30 s) from THEIR device, (4) when the upload moderation passes, the post is created and visible. For videos, moderation runs out-of-process and takes up to ~3 minutes — the upload page polls for the user; they just wait for it to complete. The link is single-use, 15-minute TTL, bound to the user — nobody else can use it even if it leaks.
Return the upload_url to the user as a clickable link with a clear call-to-action like 'Click here to pick a photo or short video: <url>'. Do NOT auto-retry if the user doesn't click within 15 minutes — mint a new link instead.