Scrydon

STT

Implémentez la reconnaissance vocale (Speech-to-Text) — upload par lot et streaming WebSocket temps réel optionnel.

Le mode lot est obligatoire ; le temps réel est optionnel. Les sessions temps réel diffusent des fragments via WebSocket ou SSE.

Définir la capacité

import { defineCapabilitySTT } from "@scrydon/sdk-authoring/integrations/define";

const sttCapability = defineCapabilitySTT({
  models: [
    { id: "whisper-v3", name: "Whisper V3", benchmarks: [{ name: "WER", score: 4.2, source: "Artificial Analysis" }] },
    { id: "fast-transcribe", name: "Fast Transcribe", benchmarks: [{ name: "WER", score: 5.1, source: "Internal" }] },
  ],
  defaultModel: "whisper-v3",

  // Mode lot — envoyer l'audio, récupérer le texte
  async transcribe(request) {
    const response = await fetch("https://api.example.com/v1/transcribe", {
      method: "POST",
      headers: { Authorization: `Bearer ${request.apiKey}` },
      body: request.audioData,
    });
    const data = await response.json();
    return { transcript: data.text, language: data.language, confidence: data.confidence };
  },

  // Streaming temps réel (optionnel)
  realtime: {
    protocol: "websocket",
    async createSession(config) {
      const ws = new WebSocket("wss://api.example.com/v1/realtime-stt");
      return {
        sessionId: crypto.randomUUID(),
        send: (chunk) => ws.send(chunk),
        onMessage: (handler) => ws.addEventListener("message", (e) => handler(e.data)),
        close: async () => ws.close(),
      };
    },
    features: { interimResults: true, endpointDetection: true, multiLanguage: false },
  },
});

Métadonnées du modèle

ChampTypeRequisDescription
idstringouiIdentifiant unique du modèle (ex. "whisper-v3")
namestringouiNom affiché dans l'interface
benchmarksBenchmarkScore[]nonScores WER — plus bas est meilleur

Le benchmark STT standard est le WER (taux d'erreur sur les mots) — un pourcentage où plus bas est meilleur. Incluez source pour indiquer où la mesure a été effectuée.

Indicateurs de fonctionnalités temps réel

IndicateurSignification
interimResultsLe fournisseur diffuse des transcriptions partielles au fur et à mesure de l'arrivée de l'audio
endpointDetectionLe fournisseur signale quand le locuteur s'arrête
multiLanguageUne seule session peut détecter / mélanger les langues
Sur cette page

Sur cette page