Was macht VoiceStudio?
Nutzen Sie das laufende VoiceStudio-Backend des Benutzers. Bevorzugen Sie lokale Verarbeitung; Remote-Worker, Cloud-Übersetzung, Modell-Downloads und externe Integrationen erfordern die Wahl des Benutzers. Installierte Modelle können offline ausgeführt werden; versprechen Sie nicht, dass jeder konfigurierte Workflow offline ist.
Verbinden und erkunden
Das Standard-Backend ist http://localhost:3900; respektieren Sie die vom Benutzer konfigurierte Adresse. Der Electron-Renderer und der Entwicklungs-Proxy sind separate Dienste, nicht die öffentliche Backend-API.
- Überprüfen Sie
GET /health. - Entdecken Sie die Verträge der laufenden Version mit
GET /openapi.jsonund Stimmen/Engines mitGET /v1/audio/voices. Erfinden Sie keine Profil-IDs oder leiten Sie installierte Modelle aus einer Katalogauflistung ab. - Wenn nicht verfügbar, starten Sie die installierte App. Folgen Sie bei einem vorhandenen Quellcode-Checkout der Electron-README (
bun install,bun run setup:api, dannbun run devaus dem Repository-Stammverzeichnis). Installieren Sie kein zweites Backend oder überschreiben Sie ein vorhandenes Checkout nicht. - Lokale Konfigurationen können unauthentifizierte Aufrufe erlauben; geschützte Bereitstellungen erfordern die konfigurierten Anmeldeinformationen. Behandeln Sie 401/403 als Authentifizierungsfehler, nicht als Erlaubnis, die Authentifizierung zu deaktivieren. Geben Sie niemals Tokens aus oder verwenden Sie einen Platzhalter-Schlüssel als echte Anmeldeinformation.
Sprachsynthese
Speichern Sie dieses JSON in speech-request.json und ersetzen Sie voice durch eine entdeckte Profil-ID, wenn der Benutzer eine Stimme ausgewählt hat:
{"model":"tts-1","voice":"alloy","input":"Jede Stimme hat eine Geschichte. Lass uns deine erzählen.","response_format":"wav"}
curl --fail-with-body --show-error http://localhost:3900/v1/audio/speech \
-H 'Content-Type: application/json' --data-binary @speech-request.json \
--output speech.wav
tts-1 und tts-1-hd sind Aliase, keine Qualitätsgarantien. OpenAI-Stimmnamen sind Kompatibilitäts-Aliase, nicht die tatsächlichen Stimmen dieser Anbieter. Bevorzugen Sie eine entdeckte gespeicherte Stimme für wiederholbare Erzählungen. Überprüfen Sie die Sprach- und Stimm-Design-Fähigkeiten der installierten Engine, bevor Sie ein Ergebnis versprechen.
Überprüfen Sie den HTTP-Status und dekodieren/testen Sie die Ausgabe, bevor Sie sie als Audio bezeichnen: Eine Fehlerantwort kann in den Ausgabepfad geschrieben werden. Melden Sie den gespeicherten Pfad und die tatsächliche Dauer/Format. Erfinden Sie niemals eine erfolgreiche Generierung, Transkription oder Auftragsabschluss.
Transkribieren
curl --fail-with-body --show-error http://localhost:3900/v1/audio/transcriptions \
-F [email protected] -F model=whisper-1 -F response_format=verbose_json
Verwenden Sie json oder text für einfache Transkripte, verbose_json für Zeitstempel und srt/vtt für Untertitel, wenn dies vom laufenden Schema unterstützt wird. Überprüfen Sie die Bereitschaft des Transkriptionsmodells vor langen Aufnahmen; erklären Sie ein fehlendes Modell und holen Sie die Download-Genehmigung ein, anstatt es stillschweigend zu installieren.
Klonen, Design, Synchronisation und längere Workflows
Verwenden Sie das installierte OpenAPI-Schema, um Profilerstellung, Referenz-Uploads, Generierung, Synchronisation und langlaufende Auftragsoperationen zu entdecken. Ihre nativen Endpunkte sind umfangreicher als die OpenAI-Kompatibilitäts-API und entwickeln sich unabhängig weiter.
- Klonen Sie nur Stimmen, die der Benutzer verwenden darf. Bewahren Sie Referenzdateien und vorhandene Profile auf.
- Erfassen Sie für das Design den gewünschten Tonfall, die Auslieferung, die Sprache und den Beispieltext; prüfen Sie die Engine-Unterstützung.
- Bewahren Sie für die Synchronisation die ursprünglichen Medien, Sprecherzuweisungen, Segment-Timing und die Absicht des Hintergrund-Audios. Der Abschluss der Übersetzung ist nicht der Abschluss des gerenderten Dubs.
- Verwenden Sie für asynchrone Arbeiten zurückgegebene Auftrags-IDs und dokumentierte Fortschritts-/Status-Endpunkte. Überprüfen Sie terminale Fehler; vermeiden Sie das blinde erneute Senden von zeitlich abgelaufenen Generierungen.
- Geben Sie nutzbare Dateien und ehrliche Einschränkungen zurück, einschließlich fehlender Modelle oder nicht verfügbarer Fähigkeiten.
MCP und Automation
Das laufende Backend mountet einen MCP-Endpunkt unter http://localhost:3900/mcp. Verwenden Sie den unterstützten HTTP-Transport des Clients und entdecken Sie dessen Tools zur Laufzeit. Verwenden Sie eine vorhandene Verbindung wieder, anstatt einen weiteren Dienst zu starten. Konsultieren Sie für Stdio-only-Clients den MCP-Leitfaden des Projekts für dessen Shim.
Für n8n, aufrufende Agenten, Container oder andere Hosts machen Sie die Backend-Adresse aus dieser Umgebung erreichbar: Container-localhost bezieht sich auf den Container. Behalten Sie Authentifizierung und explizite Remote-Routing-Entscheidungen intakt. Eine Auflistung im Integrationsverzeichnis bedeutet nicht, dass die Integration verbunden ist.
Bei Fehlern lesen Sie den Antworttext, unterscheiden Sie zwischen nicht verfügbarem Backend, fehlendem Modell, nicht unterstützter Fähigkeit, Authentifizierung und ausgelasteter Hardware. Beheben Sie die gemeldete Bedingung; wechseln Sie nicht zu einem gehosteten Anbieter oder laden Sie ein Modell ohne Autorisierung herunter.
Desktop-Workflows und Bereitschaft
Die Electron-App umfasst Sprachklon und -design, gespeicherte Profile und Galerie, Geschichten/Hörbücher, Synchronisationsprojekte, Transkription, Tools und Integrationen. Bevorzugen Sie deren vorhandene Projekt- und Sprach-IDs gegenüber der Erstellung von Duplikaten. Überprüfen Sie für die Desktop-Automatisierung die tatsächliche Benutzeroberfläche und die aktuellen Settings-Shortcuts; gehen Sie nicht davon aus, dass Tastenkombinationen oder Mikrofonberechtigungen auf jedem Host gleich sind.
Überprüfen Sie vor dem Diktat ein installiertes Sprach-zu-Text-Modell und ein funktionierendes Eingabegerät. Unterscheiden Sie zwischen Aufnahme, pausierter Aufnahme, Transkriptionsverarbeitung und abgeschlossenem Text. Das Kopieren eines Transkripts und das Einfügen in eine andere App sind verschiedene Operationen; bestätigen Sie das beabsichtigte Ziel vor dem Tippen und bewahren Sie den Zwischenablage-Inhalt wo unterstützt. Melden Sie niemals Text als zugestellt, nur weil die Transkription abgeschlossen ist.
Überprüfen Sie für die Synchronisation fehlende/fehlgeschlagene Segmente und Timing-Überlauf vor dem Export. Bewahren Sie Musik und Nicht-Sprach-Audio, wenn angefordert; ersetzen Sie nicht stillschweigend die gesamte Tonspur. Bewahren Sie die Quelle und machen Sie die Ausgabe zu einem separaten Artefakt. Übersetzungsstil-Eingaben gehören zur ausgewählten Übersetzungsoperation, und Remote-Agent- Übersetzung erfordert die vom Benutzer konfigurierte Anbieterwahl.
Verwenden Sie das Integrationsverzeichnis als Entdeckungs- und Einrichtungsanleitung, nicht als Nachweis für eine funktionierende Verbindung. Überprüfen Sie tatsächliche Anmeldeinformationen, Endpunkt-Erreichbarkeit und unterstützte Operationen, bevor Sie eine Verbindung als bereit beschreiben. Container-Bereitstellungen benötigen persistente Datenvolumes und eine Backend-URL, die vom aufrufenden Client erreichbar ist.