Retour aux documents

Référence de l'API

Testez les points de terminaison publics en direct et consultez les règles d'authentification, d'idempotence et de publication humaine pour les flux de contenu.

API de transcription vocale

POST/transcribe

Convertissez des fichiers audio en texte avec prise en charge de plusieurs formats et dictionnaires personnalisés.

Les fichiers audio longs peuvent renvoyer un état d'optimisation IA en attente/en cours pendant que l'optimisation par fragments se termine en arrière-plan. Ces exemples de code couvrent la requête publique /transcribe ; les points de terminaison internes d'état et de récupération des tâches d'optimisation par IA ne sont pas exposés en tant qu'API publique.

Lorsque l'optimisation IA est activée, dify_processing peut inclure les champs de diagnostic facultatifs n8n_workflow_name, n8n_workflow_id, n8n_call_id et n8n_execution_id ; une nouvelle tentative réussie dans Records sur ordinateur préserve la même identité de flux de travail. Une correspondance dans le cache de préchargement réutilise le premier appel, de sorte que finalize ne déclenche pas un flux de travail en double uniquement pour renseigner ces champs. Ces identifiants ne sont pas des identifiants d'accès, mais ils ne doivent pas être divulgués avec le texte de la transcription, les clés API ou les URL de webhook.

Le point de terminaison /transcribe requiert le format multipart/form-data avec un fichier audio binaire sous le champ 'audio' (et non 'file'). Les champs de formulaire facultatifs incluent 'prompt' et 'dict' (tableau JSON de paires misspelling/correct_spelling sous forme de chaîne).

Exemple de transcription cURL multipart

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"}]'

API de gestion du dictionnaire

GET/api/v1/dictionary

Récupérez toutes les entrées de dictionnaire de l'utilisateur.

Tester en direct

POST/api/v1/dictionary/add

Ajoutez ou mettez à jour une entrée de dictionnaire.

Tester en direct

DELETE/api/v1/dictionary/delete

Supprimez une entrée de dictionnaire spécifique. Requiert misspelling dans les paramètres de requête.

Tester en direct

API de flux de contenu

Bearer API KeyAuthorization: Bearer YOUR_API_KEY

Ces points de terminaison ne renvoient que le contenu appartenant à l'utilisateur de la clé API. Les variantes de plateforme sont déployées par environnement ; les clients doivent gérer les codes 404, 409 et 503 au lieu de supposer qu'une route signifie que l'interface du produit est activée.

GET/api/v1/content/items/{id}/family

Lire un contenu maître, ses déclinaisons par plateforme, l'état de génération, l'état d'approbation et la fraîcheur.

POST/api/v1/content/items/{master_id}/variants

Créer ou réutiliser des variantes pour les canaux actifs de l'utilisateur, au plus 10 cibles par requête.

POST/api/v1/content/items/{variant_id}/regenerate

Créer une nouvelle tâche de génération pour une variante existante tout en préservant l'instantané source et la protection anti-conflit.

POST/api/v1/content/items/{variant_id}/approve

Approuver uniquement le titre et corps actuels identifiés par content_hash ; toute modification ultérieure invalide l'approbation.

POST/api/v1/content/items/{id}/deliveries

Enregistrer les preuves de partage direct, copie ou export de fichier ; l'ouverture de la feuille ne confirme pas la publication externe.

POST/api/v1/content/items/{variant_id}/deliveries/manual

Confirmer une variante publiée manuellement, approuvée et non expirée ; ce point de terminaison n'appelle jamais de service tiers.

Exemple de création de variantes de plateforme

client_request_id doit être stable et unique pour l'utilisateur. Le même ID ne peut rejouer que le même contenu maître, canal, préréglage et instantané ; un autre payload renvoie 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" }
    ]
  }'

Périmètre de preuve de diffusion

Le flux de contenu ne conserve aucun identifiant tiers et ne publie rien automatiquement à la place de l'utilisateur. Le panneau natif ou de partage ne prouve qu'un état initié ou présenté ; seul un élément de preuve tiers fiable permet de marquer un résultat comme confirmé. Les rappels internes de génération sont protégés par secret de service et non publics.

Exemples d'intégration et 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" }
});