Transcribe on OpenRouter too, not just OpenAI

OpenRouter mirrors OpenAI's /audio/transcriptions field for field, so one
multipart request serves both providers and only the key, the base URL and
the model id change. That puts a dozen speech models behind the key that was
already there for the cleanup, and makes a single OpenRouter key enough for
the whole chain.

Its transcription endpoint takes no hint field, so the words from Cleanup
rules are not sent there; they still reach the cleanup model as a glossary.
Timestamps switch to openai/whisper-1, the namespaced id of the only model
that returns segment times.

The API tab is now grouped by role rather than by service, because a key no
longer belongs to a single job: both keys sit at the top, the two jobs below.
Each provider keeps its own model, so switching back and forth does not
overwrite the other one's.
This commit is contained in:
yusufipk
2026-07-25 23:01:21 +07:00
parent f901c995c4
commit 761245a305
9 changed files with 274 additions and 126 deletions
+3 -1
View File
@@ -320,7 +320,9 @@ def main():
server.newConnection.connect(on_connection)
app.aboutToQuit.connect(dikte.shutdown)
if command == "settings" or not dikte.conf.openai_key():
# No key for the chosen transcription provider means nothing can work yet,
# so the settings window is the only useful thing to open.
if command == "settings" or not dikte.conf.transcribe_target().api_key:
dikte.open_settings()
elif command == "toggle":
QTimer.singleShot(0, dikte.toggle)