Perch Roost
Roost is Perch's routing engine. It picks the right model for each task, races across providers for speed and reliability, and lets text-only models work with images.
Roost is the engine that decides which model handles your request. You do not choose a model on every message. Roost picks one for you, and on Pro you can still pin a specific model by hand when you want to.
The short version
Smart routing
When you send a request, Roost selects a model suited to the task and runs it. Two things happen behind that choice:
- One driving model per task. The model chosen at the start of a task stays fixed for that task, so the work stays consistent from beginning to end rather than drifting as it switches models mid-job.
- Raced for speed and reliability. Roost can run more than one provider at once and take the first good answer. If one provider is slow or unavailable, another responds, so a single bad provider does not leave you stuck.
The result is that you spend your attention on the work, not on picking and babysitting models.
Vision for text-only models
Some of the strongest models available are text-only. A model like DeepSeek cannot read an image on its own.
Roost closes that gap. When you share a screenshot, a scanned page, or an image, Roost first sends it to a vision-capable model that reads it and pulls out the text and visual context. It then hands that text to the model doing your task. So a text-only model can still work with images, because Perch reads the image for it.
What this is, and is not
Picking a model yourself
Roost runs automatically by default, which is the right choice for most work. When you want direct control:
- Starter runs on a curated pool of capable hosted models, chosen by Roost.
- Pro lets you pin any model in the registry by hand, including the premium models, while still falling back to Roost whenever you leave it on automatic.
See the full model list for what each plan includes, and Pricing for usage and plans.
Where Roost fits
Roost sits underneath everything Perch does. The read-first loop decides what work to do; Roost decides which model does it.

