API-Referenz
Testen Sie öffentliche Endpunkte live und prüfen Sie Authentifizierung, Idempotenz und Grenzen der manuellen Veröffentlichung für Content-Workflows.
Speech-to-Text-API
/transcribeKonvertieren Sie Audiodateien in Text mit Unterstützung für mehrere Formate und benutzerdefinierte Wörterbücher.
Lange Audiodateien können einen ausstehenden/laufenden KI-Optimierungsstatus zurückgeben, während die blockweise Optimierung im Hintergrund abgeschlossen wird. Diese Codebeispiele decken die öffentliche Anfrage /transcribe ab; interne Status- und Wiederherstellungsendpunkte für KI-Optimierungsjobs sind nicht als öffentliche API freigegeben.
Wenn die KI-Optimierung aktiviert ist, kann dify_processing optionale Diagnosefelder wie n8n_workflow_name, n8n_workflow_id, n8n_call_id und n8n_execution_id enthalten; ein erfolgreicher Desktop-Records-Wiederholungsversuch behält dieselbe Workflow-Identität bei. Ein Prefetch-Cache-Treffer verwendet den ersten Aufruf wieder, sodass finalize keinen doppelten Workflow auslöst, nur um diese Felder zu füllen. Diese Bezeichner sind keine Anmeldeinformationen, sollten jedoch dennoch nicht zusammen mit Transkripttext, API-Schlüsseln oder Webhook-URLs veröffentlicht werden.
Der Endpunkt /transcribe erfordert multipart/form-data mit einer binären Audiodatei im Feld 'audio' (nicht 'file'). Optionale Formularfelder sind 'prompt' und 'dict' (JSON-String-Array aus misspelling/correct_spelling-Paaren).
cURL Multipart Transkriptionsbeispiel
curl -X POST "https://api.vowise.com/transcribe" \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "[email protected]" \
-F "prompt=Interview about technology" \
-F 'dict=[{"misspelling":"AI","correct_spelling":"Artificial Intelligence"}]'Wörterbuch-Management-API
/api/v1/dictionaryRufen Sie alle Wörterbucheinträge des Benutzers ab.
Ausprobieren
/api/v1/dictionary/addFügen Sie einen Wörterbucheintrag hinzu oder aktualisieren Sie ihn.
Ausprobieren
/api/v1/dictionary/deleteLöschen Sie einen bestimmten Wörterbucheintrag. Erfordert misspelling in den Abfrageparametern.
Ausprobieren
Content-Workflow-API
Authorization: Bearer YOUR_API_KEYDiese Endpunkte geben nur Inhalte zurück, die dem Benutzer des API-Schlüssels gehören. Plattformvarianten werden je nach Umgebung schrittweise eingeführt; Clients müssen 404, 409 und 503 behandeln, anstatt davon auszugehen, dass das Vorhandensein einer Route bedeutet, dass die Produktoberfläche aktiviert ist.
/api/v1/content/items/{id}/familyLesen Sie eine Hauptfassung, deren Plattformvarianten, Generierungsstatus, Genehmigungsstatus und Aktualität.
/api/v1/content/items/{master_id}/variantsErstellen oder verwenden Sie Varianten für aktive Kanäle des Benutzers (maximal 10 Ziele pro Anfrage).
/api/v1/content/items/{variant_id}/regenerateErstellen Sie einen neuen Generierungsauftrag für eine vorhandene Variante unter Beibehaltung von Schnappschuss und Konfliktschutz.
/api/v1/content/items/{variant_id}/approveGenehmigen Sie nur den aktuellen Titel und Text gemäß content_hash; spätere Änderungen heben die Genehmigung auf.
/api/v1/content/items/{id}/deliveriesErfassen Sie Nachweisstatus für Teilen, Kopieren oder Dateiexport; das Öffnen eines Teilen-Dialogs ist keine bestätigte Veröffentlichung.
/api/v1/content/items/{variant_id}/deliveries/manualBestätigen Sie eine manuell veröffentlichte, genehmigte und aktuelle Variante; dieser Endpunkt ruft keine Drittanbieter-Plattformen auf.
Beispiel für das Erstellen von Plattformvarianten
client_request_id muss im Benutzerbereich stabil und eindeutig sein. Dieselbe ID darf nur dieselbe Hauptfassung, denselben Kanal, dieselbe Voreinstellung und denselben Quellschnappschuss wiederholen; andere Daten führen zu 409 idempotency_conflict.
curl -X POST "https://api.vowise.com/api/v1/content/items/CONTENT_ITEM_ID/variants" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"client_request_id": "client-generated-stable-id",
"targets": [
{ "channel_id": "CHANNEL_ID", "preset_id": "PRESET_ID" }
]
}'Grenzen der Zustellungsnachweise
Der Content-Workflow speichert keine Drittanbieter-Anmeldedaten und postet nicht automatisch im Namen des Nutzers. Ein natives Teilen-Fenster belegt lediglich den Startvorgang; ein externes Ergebnis wird erst durch unabhängige Belege bestätigt. Interne Callbacks sind durch Dienstgeheimnisse geschützt und nicht öffentlich.
Integrationsbeispiele und Code
Python (requests)
import requests
# 1. Transcribe audio with multipart form upload
url = "https://api.vowise.com/transcribe"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
files = {"audio": open("audio.wav", "rb")}
data = {
"prompt": "Interview about technology",
"dict": '[{"misspelling": "AI", "correct_spelling": "Artificial Intelligence"}]'
}
response = requests.post(url, headers=headers, files=files, data=data)
print(response.json())
# 2. Manage dictionary
dict_url = "https://api.vowise.com/api/v1/dictionary"
entries = requests.get(dict_url, headers=headers).json()
print("Dictionary entries:", entries)
# Delete dictionary entry (misspelling as query parameter)
requests.delete(f"{dict_url}/delete", headers=headers, params={"misspelling": "AI"})JavaScript (fetch)
// 1. Transcribe audio with FormData
const formData = new FormData();
formData.append("audio", audioFile); // File or Blob object
formData.append("prompt", "Interview about technology");
formData.append("dict", JSON.stringify([
{ misspelling: "AI", correct_spelling: "Artificial Intelligence" }
]));
const transcribeRes = await fetch("https://api.vowise.com/transcribe", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_API_KEY"
},
body: formData
});
const result = await transcribeRes.json();
console.log("Transcript:", result.text);
// 2. Manage dictionary
const dictRes = await fetch("https://api.vowise.com/api/v1/dictionary", {
headers: { "Authorization": "Bearer YOUR_API_KEY" }
});
const entries = await dictRes.json();
console.log("Dictionary entries:", entries);
// Delete dictionary entry (misspelling as query parameter)
await fetch("https://api.vowise.com/api/v1/dictionary/delete?misspelling=AI", {
method: "DELETE",
headers: { "Authorization": "Bearer YOUR_API_KEY" }
});