03 / TRY ITSay something to it. Watch the conversation build.
Type what a partner said and the choices appear. Pick one, deliver it, and watch the memory count up — partner turn, your words, partner turn — until you reset it. Then show it a photo and the tiles become what you are looking at.
WHAT YOU ARE LOOKING ATBeing precise about this page.
01The text side is an authored board
board is one of the runtime's six providers: tiles an app author wrote, with no model involved. Deterministic, which is why it can run in a page. Swap in Gemini, Ollama or the local model and the same engine proposes the words.
02The photo side is recorded, not live
Those tiles are real output of the vision pipeline on those exact images, recorded with the runtime's evaluation records. The page replays them; it does not call a model from your browser.
03The symbols are the point
Turn on “use my own symbols” and the artwork changes while the words do not. That is the boundary: you bring the symbols, we supply the conversation.
THE SAME THING, IN YOUR APPEvery control here is an API call.
| On this page | In your code |
|---|
| Typing a partner turn | session.hear({text}) |
| Tapping a tile | session.select({choiceId}) |
| Deliver it | session.speak({draftId}) → your speech engine → confirmSpeech({speechId, outcome}) |
| Showing a photo | session.scan({images, mode}) |
| Choices, length, tiles | profile — or setProfile() |
| Reset the conversation | session.reset() |