> ## Documentation Index
> Fetch the complete documentation index at: https://askeditor.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Refusals

> When a template can't work on your material, it says so: typed, before money is spent, and always free.

A refusal is not an error. It is the template telling you a **fact about the
material**: retrying the same call will not change it; different material
will.

## Why this exists

An edit that silently produces garbage costs you credits and trust. So every
template declares what it needs, checks it up front, and refuses with a
machine-readable code an agent can branch on.

## Common refusal codes

| Code | Meaning | What to do |
| - | - | - |
| `NO_SUBJECT` | No person detected in the shot | Use footage with a visible person |
| `SUBJECT_TOO_SMALL` | The person is too small/far to carry the effect | Reframe or record closer |
| `SUBJECT_LEAVES_FRAME` | The subject exits mid-take | Trim to a span where they stay in frame |
| `SPAN_TOO_LONG` | A requested span exceeds the template's cap | Split or shorten |
| `NO_USABLE_SPANS` | Nothing in the material fits the template | Different material |
| `UNREADABLE` | The file has no readable video stream | Re-export and re-upload |

Template pages list which refusals apply to them. Estimate-time blockers
(`INSUFFICIENT_CREDITS`, `IN_FLIGHT`, `SCOPE_DENIED`, `RECIPE_NOT_ALLOWED`)
are documented under [Jobs & polling](https://askeditor.com/docs/setting-up/jobs-and-polling.md).

> [!NOTE]
>
> Refusals are never charged, and they are deliberate: "refuse broken,
> allow odd." Unusual footage that passes the gate is allowed to be unusual.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.