Start here

Choose how SayCopy handles the recording language

Auto-detect

SayCopy identifies the spoken language for you.

Auto-detect uses Whisper Large V3 Turbo as a dedicated engine. It is designed to return the transcript in the language you spoke instead of translating it into English.

A specific language

Your preferred transcription model is used.

Choose a language when you want SayCopy to send a language hint to your preferred model, such as Deepgram Nova-3, Whisper, Chirp, or another compatible model.

Your source recording language is saved and restored the next time you open SayCopy. Selecting Auto-detect does not erase or replace your preferred model. In Settings you may see both Preferred: deepgram/nova-3 and Auto engine: openai/whisper-large-v3-turbo. That is expected.

The model map

SayCopy separates three different jobs

Preferred transcription model
Converts speech into text when you explicitly select a language. You can choose it from the OpenRouter transcription-model list. The recommended default is openai/whisper-large-v3-turbo for faster results; pick High accuracy (openai/whisper-large-v3) if you prefer accuracy over speed.
Auto-detect engine
Detects and transcribes the spoken language when Recording language is set to Auto-detect. This is currently Whisper Large V3 Turbo and is independent of the preferred model.
Text-processing model
Works after speech-to-text. It handles every translation and, when enabled, Light cleanup. The Fast, Balanced, and Best Quality presets apply to this step.

After transcription

Light cleanup is not translation

Light cleanup on

A text model improves punctuation, capitalization, spacing, obvious filler, and small transcription artifacts. It must preserve the original language and script. SayCopy limits this polishing step so it cannot become an open-ended rewrite.

Light cleanup off

SayCopy shows the raw speech-to-text result and skips the second model call. This is useful when comparing the original transcript with a cleaned result.

The Transcribe tab keeps the language you spoke. To change languages, use the Translate tab.

Learn and translate

The Translate tab

  1. Choose the From and To languages. Tap Swap languages (⇄) to reverse them; the last translation moves into the text box so you can translate it back. Swap is unavailable while From is Auto-detect, because SayCopy does not yet know which language to swap to.
  2. Type a phrase, tap Paste to replace the text box with text from your clipboard, or tap Speak and talk. Your speech appears in the text box first so you can correct it, then tap Translate.
  3. Tap Listen to hear the translation read aloud with your phone's built-in voice for that language. If no voice is installed, SayCopy tells you; you can add voices in your phone's accessibility or speech settings.
  4. Tap Save to keep the translation. Nothing on the Translate tab is saved until you do. After saving, add Tags such as “greetings” or “travel”.

Tap Saved at the top of Translate to open your saved translations in a bottom sheet. Tap a tag to filter them, tap an entry to reopen it, or tap 🔊 to hear it again. Close the sheet to focus on your current translation. Saved translations are stored only on this device and also appear in History.

Common questions

Frequently asked questions

I selected Deepgram. Why does Auto-detect show Whisper Large V3 Turbo?

Deepgram remains your preferred model and is used when you select a specific language. Auto-detect uses a dedicated engine because providers expose different language-detection controls, and omitting a language does not behave consistently across all of them.

Can I keep Whisper, Chirp, or NVIDIA selected?

Yes. Any available model can remain your preferred transcription model while Auto-detect uses its dedicated engine. When you choose a specific language, SayCopy uses the preferred model if it supports that language.

How do I know a model choice was saved?

After you choose a preset, select a model from the browser, or tap a custom-model save button, SayCopy shows a green confirmation above the bottom navigation. The active model label also updates to the saved choice.

Why not use each provider's own Auto-detect option?

Provider controls are not standardized. Some require a separate detection flag, some accept a special language value, and some do not support every SayCopy language. A dedicated Auto engine gives users one consistent behavior.

Do the Fast, Balanced, and Best Quality presets change speech-to-text?

No. Those presets choose the text-processing model used for translation and Light cleanup. Your preferred transcription model and the Auto engine are separate.

Does turning Light cleanup off disable translation?

No. It skips cleanup only on the Transcribe tab. The Translate tab still uses the active text-processing model because translation is the requested result.

Which languages does SayCopy support?

English, Spanish, Arabic, French, German, Italian, Portuguese, Chinese, Japanese, Korean, and Hindi, plus Auto-detect. In Settings, each transcription model shows how many of these languages it supports, for example All 11 app languages or 6 of 11 app languages · no Arabic, Chinese, Japanese, Korean, Hindi. Models with the widest coverage are listed first. If your preferred model does not support the recording language you choose, Settings offers a one-tap Switch to button for a model that does.

How long can a recording be?

Up to 3 minutes. SayCopy stops recording automatically at the limit and processes what you recorded. Audio is captured in a compact speech format so uploads finish quickly.

What happens if my connection drops while processing?

SayCopy automatically retries brief network drops, OpenRouter rate limits, and temporary server errors up to two more times. It does not retry an invalid key, missing credits, or a request that timed out, so you see those errors right away.

Where are my recordings and history stored?

Version 1 stores history on the current device. It does not sync between devices, and deleting the app may remove that local history. Temporary recordings are sent for processing and are not kept in SayCopy history.

Quick checks

Troubleshooting

Auto-detect returns the wrong language

Confirm you have the latest SayCopy build and that Recording language says Auto-detect. Try a clear five-to-ten-second recording. To compare results, turn Light cleanup off once, then retry with the explicit language selected.

Cleanup failed

SayCopy keeps, saves, and displays the original transcription. You can use it immediately, retry after a moment, or turn Light cleanup off. Cleanup uses the text-processing model, so it can fail even when the speech-to-text step succeeded.

“OpenRouter token missing”

Follow the OpenRouter setup guide, paste your key into SayCopy Settings, and tap Save token.

A request was rejected or payment is required

Confirm your OpenRouter key is active, your account has available credit, and its spending limit has not been reached. Model availability and account restrictions can also affect routing.

No eligible OpenRouter endpoint was found (HTTP 404)

The model may be unavailable or incompatible with zero-data-retention routing. Select another model in Settings. For Auto-detect, first choose a specific recording language so your preferred model is used. Auto-detect uses Whisper Large V3 Turbo with zero-data-retention routing; older app versions use GPT-4o Transcribe, which may have no eligible endpoint. Update the app when a new version is available, or select a specific language as a workaround.

Other OpenRouter rejection messages

HTTP 400 or 422 means the request was rejected. Some providers reject an audio format even when a recording is short. October 5 previews used MAI-Transcribe 1.5 for Auto-detect; that route rejects SayCopy’s M4A recordings. Updated previews use Whisper Large V3 Turbo, verified with M4A and zero-data-retention routing. While waiting for the update, select a specific recording language and choose the Recommended transcription model in Settings. Saved MAI preferences are preserved, but an explicit MAI request explains how to choose a compatible model. HTTP 403 means access was denied: check API key permissions and account restrictions. HTTP 413 means the recording is too large: try a shorter one. Include the HTTP status when contacting support; never include your API key.

Error diagnostics

Updated builds report errors to Sentry, including failures where Light cleanup recovers by saving the original transcript. Reports include fixed operation labels, error categories, HTTP status when available, app version, and crash stack locations. Audio, API keys, transcript text, translation text, clipboard contents, and raw provider responses are excluded from application error reports. Screenshots and session replay are disabled. IP addresses and inferred location metadata are removed before new error events are stored. See the privacy policy.

The microphone does not start

On iPhone, open Settings → Privacy & Security → Microphone. On Android, open Settings → Apps → SayCopy → Permissions → Microphone. Make sure SayCopy is allowed, then reopen the app and try again.

A request timed out

Check your internet connection and try a shorter recording. Model providers can also be temporarily busy, so retrying after a moment may help.

Still need help?

Use the SayCopy contact form. Include your device model, operating system version, recording language setting, preferred transcription model, whether Light cleanup was on, and the exact error message if one appeared.

Never include your OpenRouter API key in a support message or screenshot.