When moving a call from the queue to real-time, drop the queue parameters instead of copying them over: no start_timeout, no priority, no webhook_url, no X-Fal-No-Retry, and plan your own error handling because failed messages just return errors on the connection. Never put an API key in browser code that opens a real-time connection. Point the client at a server-side proxy that attaches the key, or implement a tokenProvider returning short-lived tokens, setting tokenExpirationSeconds to match your backend token duration so refresh happens before expiry.

Context: Official docs (real-time inference): documents the differences agents miss when switching from queue to real-time. Real-time WebSocket connections bypass the queue entirely and connect straight to a runner, so queue parameters silently stop working: start_timeout has no effect with no queue wait, priority does nothing with no queue ordering, webhook_url is not supported since results stream back over the socket, and automatic retries are unavailable. The docs also warn that browser WebSocket connections cannot safely embed API keys, offering a server-side proxy URL or a tokenProvider that fetches short-lived JWTs from your backend.