Skip to content

Conversation

mxcoppell
Copy link

@mxcoppell mxcoppell commented Oct 18, 2025

Summary

This PR adds the ability for users to select different OpenAI Realtime API models directly from the voice chat settings UI, replacing the previously hard-coded gpt-4o-realtime-preview model.

Motivation

Users were unable to configure which OpenAI Realtime model to use for voice conversations. The model was hard-coded, preventing users from trying newer models like gpt-realtime or gpt-realtime-mini which may offer better performance or cost benefits.

Changes Made

  • Backend (route.ts): Modified to accept and use the model parameter from request body instead of hard-coded value
  • State Management (store/index.ts): Updated voice chat state to properly store both voice and model in providerOptions
  • UI (chat-bot-voice.tsx): Added new "Model" selector dropdown in voice chat settings with three options:
    • GPT-4o Realtime (gpt-4o-realtime-preview) - default
    • GPT Realtime (gpt-realtime)
    • GPT Realtime Mini (gpt-realtime-mini)
  • UI Enhancement: Renamed voice selector from "Open AI" to "Voice" for better clarity

Features

✅ Model selection persists across sessions
✅ Independent from text chat model selection
✅ Visual indicator (checkmark) shows currently selected model
✅ Smooth settings UI with brain icon for model selector
✅ Fallback to default model if none specified

Testing

  1. Open voice chat by clicking the voice icon
  2. Click the settings icon (gear) in the top right
  3. Select "Model" to see available OpenAI Realtime models
  4. Choose a different model
  5. Start a voice conversation - it should use the selected model
  6. Close and reopen voice chat - selection should persist

Files Changed

  • src/app/api/chat/openai-realtime/route.ts
  • src/app/store/index.ts
  • src/components/chat-bot-voice.tsx

Breaking Changes

None - this is a backward compatible enhancement with sensible defaults.

image image image

- Add model parameter to route.ts to accept selected models
- Update voice chat state to store both voice and model in providerOptions
- Add dedicated model selector UI in voice chat settings
- Support gpt-4o-realtime-preview, gpt-realtime, and gpt-realtime-mini models
- Rename voice selector from 'Open AI' to 'Voice' for clarity
Copy link

vercel bot commented Oct 18, 2025

@mxcoppell is attempting to deploy a commit to the cgoinglove's projects Team on Vercel.

A member of the Team first needs to authorize it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant