Why did my AI upload fail?
Short answer
An upload fails when the file does not meet the model's requirements: unsupported format, file too large, image dimensions out of range, or video codec the model can't read. Check the model card for accepted formats. Common safe formats: JPG, PNG, or WebP for images (max 20 MB on most models); MP4 or MOV for video (max 100 MB on most models).
Format limits per model type
Image models accept JPG, PNG, and WebP across the board. Most also accept GIF (first frame only). HEIC from iPhone, BMP, TIFF, and SVG are commonly rejected — convert to JPG or PNG before uploading. Video models accept MP4 and MOV with the H.264 codec; some also accept WebM. AVI, MKV, and ProRes are rejected by most providers — re-encode to MP4 with H.264. Audio models accept MP3 and WAV; FLAC and OGG vary by model.
The node panel shows the accepted formats for that specific model in its model card. When in doubt, prefer JPG for images and MP4 for video — these are the safest formats across every provider on Martini and avoid most format-related rejections. If the model rejects a file the card claims is supported, re-encode rather than retry — the file may be corrupt or have a non-standard internal structure.
Size and dimension limits
Most image models cap uploads at 20 MB and accept dimensions up to 4096 by 4096 pixels. Many require the shortest side to be at least 256 pixels. Most video models cap uploads at 100 MB and accept resolutions up to 1080p; some accept 4K but charge proportionally more. Audio uploads typically cap at 50 MB and 10 minutes per file. Files over the limit are rejected with the limit named in the error message.
If your file is over the size limit, downsize before uploading. For images, export at 2K or 4K instead of original camera resolution. For video, transcode to 720p or 1080p at a moderate bitrate (8-12 Mbps for 1080p). For audio, downsample from 96 kHz to 48 kHz and from 24-bit to 16-bit. The model does not gain quality from inputs above its supported resolution — it only fails or wastes time.
Diagnostic checklist
When an upload fails, work through this checklist in order. First, check the file extension matches the actual format (a .png file that is actually HEIC fails on the format check). Second, check file size against the model card limit. Third, check dimensions against the model's accepted range. Fourth, for video, check the codec — open the file in a player like VLC and confirm H.264 in MP4 container. Fifth, try re-encoding to a known-safe format (JPG for images, MP4 with H.264 for video).
If all four pass and the upload still fails, the file may be corrupt or partially downloaded. Re-export from the source application or re-download. If the error names a specific provider issue (Provider error during upload, Ingest timeout), retry — these are usually transient and resolve in a few seconds.
Examples
- HEIC photo from iPhone rejected — convert to JPG and re-upload.
- 4K video over the size cap — transcode to 1080p MP4 and re-upload.
- Image with a .png extension that is actually a renamed HEIC — re-export properly as PNG.
- AVI video rejected by every model — re-encode to MP4 with H.264.
- WAV file at 96 kHz, 24-bit over the size cap — downsample to 48 kHz, 16-bit.
Edge cases
- Files with corrupt EXIF or metadata may upload but fail at generation — strip metadata and retry.
- Files served from auth-walled URLs (private Drive links) cannot be ingested — make the file publicly accessible or upload directly.
- Animated GIFs upload as still images on most models — the first frame is used.
- Files with non-standard color profiles may upload but produce off-color outputs — convert to sRGB before uploading.
What to do next
- Check the model card on the node for the exact format and size limits.
- Convert HEIC, BMP, TIFF, AVI, or MKV to JPG, PNG, or MP4 before uploading.
- Downsize files over the size cap rather than retrying — the limit is hard.
- Read the why-video-generation-failed article if the upload succeeds but generation fails downstream.
Related help articles
Related models and tools
Related docs
Still need help? Contact support.