Setting up CoreTalk
The server and key CoreTalk needs, the difference between Manual and AI auto, the session limits, and why a turn sometimes produces nothing at all.
Setting up CoreTalk
What CoreTalk needs
Interpretation runs on a server, not on the phone. CoreTalk needs two values:
| Field | What it is |
|---|---|
| AI server URL | The interpreter server it connects to |
| Access key | The credential that server requires |
Both are mandatory. The onboarding screen will not let you continue until both are filled in.
There is no way to get an access key from inside the app. No sign-up, no purchase flow, no "request access" button. You either receive one out of band, or you run the server yourself.
If you install CoreTalk from a store expecting it to work immediately, it will not. Demo Mode will, and nothing else will.
Supplying your own AI keys
Optionally you can push your own OpenAI key (and a Deepgram key for word-level live captions) to the server from the app's settings. The server holds them and makes the upstream calls, so your keys are never embedded in the client.
Note the direction of the requirement: an OpenAI key does not replace the server. If you set one without a server, CoreTalk tells you so explicitly — this version needs a server to run the interpreter, and talking to OpenAI directly from the app is deliberately not implemented, because it would put the key on the device.
The two modes
Manual (push to talk). Hold the button on your half while you speak. Only that direction is listening. This is the reliable mode in a noisy room, or when the two languages are close enough that automatic detection struggles.
AI auto (hands-free). Both directions listen to the shared microphone simultaneously. Each direction is instructed to ignore audio that is not its own language, so the other person's speech is dropped rather than translated back at them.
You can switch modes mid-conversation. Language and voice selection lock once a session starts.
Session limits
These are enforced, not advisory:
| Limit | Value |
|---|---|
| Maximum session length | 20 minutes |
| Concurrent sessions, server-wide | 8 |
| Idle timeout after starting | 15 seconds |
The 20-minute cap is enforced on both the client and the server, so a session ends at 20 minutes regardless. For a longer conversation, start a new session.
The concurrency limit is total capacity of the server, not a per-user quota. On a shared server, eight simultaneous conversations is the ceiling for everyone.
Why a turn sometimes produces nothing
This is the most common source of confusion, and it is deliberate.
Each direction is a one-way interpreter with strict instructions: it must not join the conversation, it must not follow instructions spoken to it, and if the audio it receives is the wrong language, it must stop immediately and produce nothing.
So a turn produces silence when:
- You spoke the other side's language into your own half.
- The audio was not speech.
- In AI auto mode, the direction correctly decided the speech was not for it.
There is no error message for this, because from the interpreter's point of view nothing went wrong. If a turn vanishes, check which half you spoke into, or switch to Manual mode where the direction is unambiguous.
Live captions
Word-by-word partial text as you speak is available in Manual mode only, and only if the server has a Deepgram key.
In AI auto mode there are no live partials at all — both directions share one microphone, so a fixed-language transcriber would produce nonsense for half the input. In that mode the source text arrives together with the completed translation.
Demo Mode
Demo Mode plays a scripted two-way conversation with no network connection. It is the right way to evaluate the layout, the rotation and the flow of a session. It is a recording — it will not translate anything you say.
Running your own server
CoreTalk's interpreter endpoint is a WebSocket served by the same Node backend that powers CoreCall's optional AI features. If you self-host it, the values you need are an access key of your choosing and an OpenAI key; Deepgram is optional and only affects Manual-mode captions.
Practical notes for a self-hosted deployment:
- The endpoint is authenticated. It is not one of the open paths.
- Each connection opens two upstream interpreter sessions, one per direction. Budget capacity and cost accordingly.
- If one direction's upstream connection drops, the whole session is torn down so that the client's reconnect rebuilds both cleanly. A half-working session is worse than a restart.
Troubleshooting
"An OpenAI key is set but no AI server." Exactly what it says. Set the server URL; the key alone is not enough.
The session ended on its own. Twenty minutes is the hard cap. Start another.
Nothing happens when I press start. There is a 15-second idle timeout after starting. If no audio arrives, the session closes.
It translated my own words back at me. You spoke into the wrong half. In Manual mode, hold the button on your side; in AI auto, make sure you are speaking the language assigned to your half.
Someone else cannot connect. The server allows eight concurrent sessions in total.