Skip to content

Imagine

A picture prompt does not land on a text model.

Media is its own type. vision-1 receives the prompt. If you also ask for a caption, write-1 gets that part alone.

Media lane

The picture waits for the type.

A media prompt receives a type and is checked against the allow-list before a lane is chosen. Image and video are both media, so both stay on vision-1. Add a caption and write-1 receives a second part. Send a patch and this lane is not selected.

The drawing is made in the browser. It does not call vision-1.

Route<Prompt, Media> · vision-1 · image

One contract

Stills and video share the vision lane.

Both are media. The type stays media, the contract stays Route<Prompt, Media>, and the lane stays vision-1. A prompt that says the camera moves does not open a speech contract, and it does not fall through to a text model.

Still
Video

vision-1 · Route<Prompt, Media>

A second hop

A caption is a second, typed call.

Ask for the still and also for words under it. vision-1 keeps the media part. write-1 receives the caption as prose. The caption is not burned into the pixels, and the media call does not inherit a prose contract.

A labeled still, ready to place.

write-1

A labeled still, ready to place.

Refusal

The media call never inherits another contract.

A diff belongs on code-1. If that is the request, vision-1 is not selected. If a team removes vision-1 from the allow-list, a pure media request returns pending. Nothing is rerouted to write-1 to describe the picture instead.

vision-1

code-1The diff is the hop. The picture is not described instead.

Separator

Put a typed route in front of the models you already call.

Decision

explanation

reason-1

4.2 ms

reason-1code-1write-1ops-1intake