Skip to main content
Every modality goes through the same OpenAI-compatible client and the same orb_ key. Calls made under one run are grouped into a single workflow in your dashboard — so a multi-step agent that thinks, searches, generates an image, and speaks shows up as one trajectory graph with a node (and cost) per step.
Each API key is bound to a workflow (create one in the dashboard, then use a key attached to it). Every call that key makes is traced under that workflow — you don’t pass a workflow id, and a client can’t reassign it.

Connect

A full multimodal run

The snippet below does, in one run: text (reasoning) → tools (web search) → image (generation) → speech-to-texttext-to-speech. Pass a shared x-orbitrage-run-id so the steps group into one trajectory.

What you see

Open the workflow in app.orbitrage.ai/workflows and the latest run renders as one graph — a node per call, newest run first, each labelled with its provider and modality: Every node records cost_usd split into provider cost + the 2.5% infra margin, and the org’s credit balance is debited by exactly the sum — so the dashboard’s per-run total matches what you were charged to the cent. BYOK nodes record cost_usd = 0 and drop out of that sum; any managed tools they invoked still count, because those ran on Orbitrage’s pooled tool keys. See Observability and Models.