Instagram error 100: Video upload timed out or video is corrupted
Last verified against Meta for Developers - Messenger Platform error codes
Video upload timed out or video is corrupted. Note that if the video can't be fetched within 75 seconds, it will time out.What error 100 means
Subcode 2018294 is the video-specific fetch failure, and it comes with a documented hard number: "if the video can't be fetched within 75 seconds, it will time out." When you send a video by URL, Meta must download the whole file inside that budget; a 25 MB video on slow hosting will not make it. The same subcode also covers files that download fine but cannot be processed - corrupted, truncated, or encoded in ways the platform cannot read despite a supported container extension.
The 75-second budget links size and hosting speed: it implies sustained throughput of roughly a third of a megabyte per second for a maximum-size file, which rules out cold object storage, throttled endpoints, and transcode-on-demand URLs. If images from the same host send fine but videos fail, this timeout is almost always why - images are small enough to squeak through slow hosting that videos cannot.
Why it happens
- Slow hosting: the video cannot be fully downloaded within the documented 75-second fetch window.
- The URL points to an endpoint that transcodes or generates the file on request, adding startup latency.
- The file is corrupted or truncated - an interrupted upload stored a partial file.
- The container extension is supported (mp4, mov) but the inner codec is unusual and processing fails.
How to fix Instagram error 100
- 1Time a full download of the URL yourself; if it takes anywhere near 75 seconds, move the file to faster (CDN) hosting.
- 2Reduce file size - shorter clips, lower bitrate - so the fetch finishes with margin.
- 3Re-encode with standard settings (H.264 video, AAC audio in MP4) to eliminate codec-processing failures.
- 4Verify file integrity (it plays fully in a player) before queueing the send.
- 5Upload via the Attachment Upload API and send by attachment ID to take the timed URL fetch out of the equation.
How to stop it recurring
Pipeline video like a video platform would: normalize encoding on ingest, store on a CDN, and prefer attachment IDs over URL fetches for anything reused. Alert on send-time video failures separately from image failures, since their causes rarely overlap. Video format and the 25 MB ceiling are documented in the limits reference; generic fetch failures are 2018008 and size violations 2018109.
Official reference: Meta for Developers - Messenger Platform error codes. See all Instagram error codes or the Instagram limits and quotas.
Related codes
Error 100 - quick answers
What does Instagram error 100 mean?
Subcode 2018294 is the video-specific fetch failure, and it comes with a documented hard number: "if the video can't be fetched within 75 seconds, it will time out." When you send a video by URL, Meta must download the whole file inside that budget; a 25 MB video on slow hosting will not make it.
How do I fix Instagram error 100?
1. Time a full download of the URL yourself; if it takes anywhere near 75 seconds, move the file to faster (CDN) hosting. 2. Reduce file size - shorter clips, lower bitrate - so the fetch finishes with margin. 3. Re-encode with standard settings (H.264 video, AAC audio in MP4) to eliminate codec-processing failures. 4. Verify file integrity (it plays fully in a player) before queueing the send. 5. Upload via the Attachment Upload API and send by attachment ID to take the…
Stop debugging Instagram by hand
Connect the channel through Conferbot: tokens, webhooks and retries are handled, failures show as readable status.