Limits and errors
One page, so you do not have to find out by hitting them.
Loading media
| Limit | Value |
|---|---|
| Max image size | 40 MB |
| Max image pixels | 25,000,000 (about 5000 x 5000) |
| Refused without decoding | over 200 MB |
| Max video size | 150 MB |
| Video duration on load | no limit |
Export
| Limit | Value |
|---|---|
| Scale | 1x to 4x of the original source |
| Still image ceiling | 16,384px, or your GPU texture limit |
| GIF ceiling | 2048px and 4 megapixels |
| Video ceiling | 4096px, or 2560px on iOS |
| Video export length | 9000 frames at 30fps, which is 5 minutes |
| Animation loop | 3, 5, 10 or 15 seconds |
If a scale will not fit, it is reduced automatically and you are told. If the source will not fit even at 1x, the export refuses rather than producing something broken.
Generative
| Limit | Value |
|---|---|
| Credits per render | 1 at 1K, 2 at 2K, 3 at 4K |
| Source sent to the model | downscaled so the long edge is 1024px |
| Max source accepted | 12 MB |
| Rate limit | 10 generations per 60 seconds |
| Timeout | 100 seconds, then the credit is refunded |
| Aspect ratios | auto, 1:1, 4:3, 3:4, 16:9, 9:16 |
MCP
| Limit | Value |
|---|---|
| Upload link lifetime | 15 minutes |
| Max upload | 15 MB |
| Render download link | 24 hours |
| First call after idle | up to about 20 seconds while the renderer wakes |
Errors you might actually see
| Message | What it means |
|---|---|
| Out of credits | The render was refused before the model was called, so nothing was charged |
| Too many generations in a row | Rate limited. Wait a moment. Nothing was charged |
| Sign in to generate | No session, or it expired |
| This style needs Pro | The style is real and visible, your account cannot render it yet |
| That look uses a Pro effect, showing the free style instead | A recipe named a Pro style. The rest of the recipe still applied |
| Recipe is malformed | The code was truncated. Copy the whole thing |
| This recipe needs a newer version | The recipe was made by a later build. Refresh the page |
| Export scale reduced | Your device or the encoder could not take the size you asked for |
| Your browser does not support WebCodecs | MP4 export needs Chrome 94+ or Edge 94+ |
If a generative render fails after the credit was taken, it is refunded automatically and the new balance comes back with the error. In the rare case the refund itself fails, the message says so explicitly rather than losing a credit quietly.
What happens when you hit one
None of these fail silently, which is the part worth knowing. Each has a defined behaviour:
| Limit | Behaviour |
|---|---|
| Image over 200 MB | Rejected before any decode is attempted, so the tab never stalls. |
| Image over 40 MB or 25 megapixels | Decoded first, then rejected, because file size does not predict pixel count. |
| Video over 150 MB | Rejected before load. |
| Export scale that will not fit | Reduced automatically to the largest that fits, and you are told which scale you got. |
| Source that will not fit even at 1x | The export refuses rather than writing a truncated or broken file. |
| Video export over 9000 frames | The export refuses. The source still loads and plays. |
| Generative source over 12 MB | Rejected before the call, so no credit is spent. |
| Generative rate limit | The call is refused. No credit is spent on a refused call. |
| A Pro style on a free account | The upgrade prompt opens. Nothing renders and nothing is substituted. |
Credits, precisely
| Event | Cost |
|---|---|
| A normal render, any style, any scale | Nothing. Ever. |
| An export, any format, any scale | Nothing. |
| A generative render at 1K | 1 credit |
| A generative render at 2K | 2 credits |
| A generative render at 4K | 3 credits |
| A regenerate | The same again. The model bills per call. |
| A generation that fails | Nothing. A failure is not a result. |
| A generation you dislike | The full cost. It succeeded. |
What has no limit
Stated plainly, because the natural assumption is that everything is metered somewhere:
- Number of renders. There is no counter.
- Number of exports, at any scale, on either tier.
- Video duration on load. Only the export is capped.
- Number of recipes, projects or shares.
- Session length, or how many files you open in one.
- Credit expiry. A balance rolls over and cancelling does not claw it back.
The ceilings on this page are device and encoder limits, not plan limits. A free account and a Pro account hit exactly the same numbers. The only figure that differs by plan is the credit allowance.
Last updated