Reasons and how to fix
Expired pre-signed URLs or tokens
The most common cause is providing a media URL with an expired access token or pre-signed URL. Services like AWS S3, Google Cloud Storage, and Azure Blob Storage use time-limited URLs for security. To fix this:- Use publicly accessible URLs without expiration when possible
- Generate pre-signed URLs immediately before making the API request
- Set a longer TTL (Time To Live) on pre-signed URLs - we recommend at least 1 hour
- Configure your storage bucket to allow public read access for media files
Cloud storage permissions
Your media might be hosted on S3 or another cloud storage service with restrictive permissions that prevent our servers from accessing it. To fix this:- Ensure your storage bucket allows public read access
- Update IAM policies to allow external access to the specific media files
- Test URL accessibility from a different network or device to confirm it’s publicly accessible
Social media content restrictions
Social media platforms like YouTube, TikTok, and Instagram may restrict access to certain content. Common scenarios include members-only content, private accounts, age-restricted videos, geographic restrictions, or deleted content. To fix this:- Verify the social media content is publicly accessible without login
- Ensure content isn’t set to private, unlisted, or members-only
- Test the link in a private/incognito browser window
- If possible, download the media and host it on publicly accessible storage