Your agent creates the content. CurlyFlies serves it to Instagram, Buffer, Meta — and every API that demands a public URL.
$ curl -X POST https://curlyflies.com/v1/upload \ -H "Authorization: Bearer $CURLY_KEY" \ -F "[email protected]" → { "url": "https://curlyflies.com/f/x7k2.png", "expires_at": "2026-06-02T09:41Z" }
Agents don’t click “Share” buttons. They make one HTTP request and move on.
Requires login. Instagram API returns error 9004.
Used to work with &dl=1. Instagram blocked it.
Works. But you need IAM, buckets, and 45 minutes.
CurlyFlies works because it serves files with no auth, no redirects, and the right Content-Type headers. Paste a curlyflies.com URL in an incognito window. It loads. That’s why Instagram accepts it.
No buckets. No OAuth. No IAM policies. No human in the loop.
Your agent calls POST /v1/upload with a file or URL. Any language, any framework.
You get back a JSON response with a public URL and expires_at timestamp. Under 200ms.
Pass the URL to Instagram, Buffer, Meta Ads, webhooks, other agents. The file lives 24 hours then vanishes.
REST API for automation builders. MCP server for autonomous agents.
Same backend, two front doors.
Connect CurlyFlies as an MCP server. Your agent sees upload_file as a native tool and calls it mid-task. No developer wiring. No integration code.
{ "mcpServers": { "curlyflies": { "url": "https://mcp.curlyflies.com/mcp", "apiKey": "your_key_here" } } }
upload_file
Upload bytes or base64. Returns { url, expires_at }
upload_from_url
Re-host any remote URL. Handles GPT Image, Nano Banana, Seedream, Replicate, Higgsfield.
get_file_info
Check if a file is still live before passing it downstream.
delete_file
Manual cleanup. Returns { deleted: true }
Every plan includes the MCP server, the REST API, and clean public URLs that pass the incognito test.
Overage: $0.002 per upload above plan limit.
Agents can even self-provision a key. No human required.
$ curl -X POST https://curlyflies.com/v1/agent/signup \ -H "Content-Type: application/json" \ -d '{"email":"[email protected]","agent_name":"my-agent"}'Get free API key