Spent way too long debugging this recently so figured I'd write it up properly.
If you're building a Zap that posts images to Instagram - especially AI generated ones - you've probably hit this wall:
Instagram app does not accept file data. It needs a direct public URL ending in .jpg or .png. Not a redirect link. Not a share link. A direct file URL.
This trips people up in a few different ways:
- OpenAI image URLs expire in an hour
If you're generating images with DALL-E and passing that URL straight to Instagram, it works - until there's any delay in the workflow. A human approval step, a filter, a wait - anything that adds time breaks it. The URL expires and Instagram throws a media type error.
- Google Drive and Dropbox share links don't work
These are not true public URL, they’re HTML pages, so they don’t work too.
- imgbb works until it doesn't
imgbb is the most common workaround I've seen. It gets the job done for a while but Instagram has started flagging certain imgbb domains and rejecting the URLs outright with a "media type not accepted" error. Not something you want to discover in a client's production workflow.
What actually works
You need a service that returns a clean, direct CDN URL - no redirects, correct content-type headers, reliable uptime.
A few options depending on your situation:
- S3 or Cloudflare R2 - most reliable long term, but you're setting up buckets and IAM roles which is overkill if you just need to host an image temporarily
- Cloudinary - solid, has a Zapier integration, good if you're already doing image processing
- Upload to URL - I built this specifically because I kept hitting this exact problem. It's a native Zapier app that takes the file from your image generation step and gives back a direct CDN URL in one Zap step. No storage setup, no extra accounts, no leaving Zapier. Free to get started at uploadtourl.com
The core issue is always the same — you need a permanent, direct URL at the point where Instagram expects it. Once that's solved the rest of the workflow is straightforward.
Hope this saves someone the debugging time.

