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

# Routing & fallback

> Lower-cost routes first. Explicit permission for official fallback.

> API preview: generation providers are not connected. An authenticated request can return 503 without creating a task or charging credits.

## Fallback is opt-in

fallback defaults to false. In the first release, each image/video item can try one eligible low-cost channel and, with fallback enabled, one official channel. Each item has at most two generation attempts.

With fallback off, an unavailable low-cost route does not silently become a more expensive official call. With fallback on, the official route must support the full input before acceptance.

## Compatibility before price

Providers can use different field names, units, enums, and supported combinations for the same model. APIstable maps a versioned public schema to each eligible provider. Renaming duration\_seconds to seconds is a mapping; dropping audio or changing resolution is not.

| Requested capability | Channel behavior |
| - | - |
| 5 seconds at 720p | Accept only channels supporting the exact combination. |
| Audio enabled | Exclude channels that cannot produce audio. |
| Fixed seed | Do not silently remove or substitute it. |
| Official route incompatible | Reject fallback=true before acceptance. |

## A timeout is not a safe failure

A confirmed rejection before acceptance or an eligible terminal provider failure can trigger fallback. An unknown submission, running generation, content-policy rejection, or invalid input cannot be treated as a free pass to submit elsewhere.

Unknown results enter reconciliation. If a final decision releases the credits, a late success cannot silently recharge the account.


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