[M1] Moteur OpenAI Whisper API (cloud) #188

Closed
opened 2026-04-06 08:52:17 +00:00 by charles · 0 comments
Owner

Contexte

Troisième implémentation de SttEngine utilisant l'API OpenAI Whisper (ou tout endpoint compatible : Groq, etc.). Nécessite une clé API.

Critères d'acceptation

  • Struct OpenAiWhisperEngine { api_key: SecretString, base_url: Url } implémente SttEngine
  • base_url configurable pour supporter les endpoints compatibles (Groq, endpoints locaux type LocalAI)
  • health_check() valide la clé API via un appel minimal
  • La clé API est stockée via GNOME Secrets (libsecret) — ne jamais écrire en clair dans config.toml
  • Gestion des erreurs réseau (timeout, rate limit, clé invalide) avec messages clairs

Notes techniques

  • SecretString : wrapper zeroize pour effacer la clé mémoire à la destruction
  • Utiliser reqwest (déjà présent dans l'écosystème Fractal/matrix-sdk)
  • Endpoint : POST {base_url}/audio/transcriptions (format OpenAI)
  • Voir specs §3.2 (SF-M1-04) et §3.3 (ST-M1-03)
## Contexte Troisième implémentation de `SttEngine` utilisant l'API OpenAI Whisper (ou tout endpoint compatible : Groq, etc.). Nécessite une clé API. ## Critères d'acceptation - [ ] Struct `OpenAiWhisperEngine { api_key: SecretString, base_url: Url }` implémente `SttEngine` - [ ] `base_url` configurable pour supporter les endpoints compatibles (Groq, endpoints locaux type LocalAI) - [ ] `health_check()` valide la clé API via un appel minimal - [ ] La clé API est stockée via GNOME Secrets (libsecret) — ne jamais écrire en clair dans `config.toml` - [ ] Gestion des erreurs réseau (timeout, rate limit, clé invalide) avec messages clairs ## Notes techniques - `SecretString` : wrapper zeroize pour effacer la clé mémoire à la destruction - Utiliser `reqwest` (déjà présent dans l'écosystème Fractal/matrix-sdk) - Endpoint : `POST {base_url}/audio/transcriptions` (format OpenAI) - Voir specs §3.2 (SF-M1-04) et §3.3 (ST-M1-03)
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
charles/my-fractal#188
No description provided.