Skip to main content
The namespaces, option names, and event shapes are the same everywhere. What differs is what each language forces on the API. These are those differences, so you can port code without finding them one compile error at a time.

Async and streaming

Prompts and conversations

Flutter is the outlier, because Dart has no method overloading. It also has generateChatStream alongside generateStream.

Input constructors

React Native’s are plural. Flutter has no AudioInput.file and no ImageInput.rawRgba. Web has no AudioInput.file; use AudioFileLoader from @runanywhere/web/browser.

Streaming push handles

openStream returns a handle you push frames into. React Native has only the pull-shaped transcribeStream and detectStream.

Where streaming errors surface

Preflight failures throw from the call on every SDK. Do not share one error-handling helper across the two groups without checking.

Everything else

Structured output

Every SDK exposes three enforcement modes and only two of them work: