Skip to main content
POST
Mettez en file d’attente la régénération de la voix d’un segment, actualisez éventuellement sa synchronisation labiale et utilisez les crédits média habituels. requestId doit être un UUID stable. Suivez l’avancement avec segment_actions_list.

Authentification et autorisations

string
requis
Envoyez une clé API VoiceCheap dans cet en-tête. Authorization: Bearer avec la même clé API est également accepté. Les jetons d’accès OAuth sont acceptés uniquement par MCP, pas par cet endpoint REST.
Autorisations requises: translations:write. Un abonnement payant actif est requis. Les autorisations ne modifient ni les rôles dans l’équipe, ni la propriété des ressources, ni les crédits média, ni les limites du forfait.

Paramètres

string
requis
Valeur textuelle.Longueur minimale: 1. Longueur maximale: 200. Motif: ^[^/\\]+$.
string
requis
Valeur textuelle.Longueur minimale: 1. Longueur maximale: 200. Motif: ^[^/\\]+$.
string
requis
Valeur textuelle.Longueur minimale: 1. Longueur maximale: 200. Motif: ^[^/\\]+$.
integer
requis
Nombre entier.Minimum: 0. Maximum: 9007199254740991.
string
Facultatif au niveau du transport : le serveur injecte un identifiant avant la validation si ce champ est omis. Fournissez votre propre UUID v4 stable pour récupérer le résultat en toute sécurité si la réponse est perdue.Format: “uuid”. Motif: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$.
string
Valeur textuelle.Longueur maximale: 500.
boolean
Valeur booléenne.
Le JSON Schema ci-dessous conserve les noms de champs exacts, les types imbriqués, les valeurs par défaut, les limites et les valeurs acceptées exposés par la découverte. Les règles supplémentaires entre champs figurent dans les notes de l’opération.

Idempotence

Utilisez un UUID v4 dans requestId ou dans l’en-tête HTTP Idempotency-Key pour chaque mutation. Après une erreur réseau, réutilisez le même identifiant avec des arguments identiques. Si les deux sont fournis, ils doivent correspondre. Rejouer une requête enregistrée ne répète pas l’opération et ne décompte pas un nouvel appel mensuel. Les requêtes en échec ou interrompues ne sont pas relancées automatiquement. Toute mutation peut renvoyer HTTP 202 lorsqu’une nouvelle tentative retrouve la même requête encore en cours, même si sa première exécution est habituellement synchrone. Si l’exécution est terminée mais que resultStored vaut false, une nouvelle tentative renvoie HTTP 200 avec l’état de la requête enregistrée, au lieu du résultat d’origine. Récupérez le résultat avec l’action d’historique, de résultat ou de téléchargement de son domaine.

Exemples de requêtes

Remplacez les exemples d’identifiants de ressources et de clés média par des valeurs renvoyées pour votre compte. Conservez le même identifiant de requête lorsque vous réessayez la même mutation.

Réponse

Une première exécution réussie renvoie HTTP 200 avec le résultat de l’opération sous data. Une nouvelle tentative peut renvoyer à la place l’état de la requête enregistrée. L’exemple présente une réponse possible, sans tous les champs facultatifs. Renvoie l’admission en file d’attente pour la régénération d’un segment d’une version traduite autorisée.

Champs du résultat

Récupérer et suivre cette requête

Utilisez le même identifiant, même après une perte de connexion. Si resultStored vaut false, récupérez le résultat avec l’action d’historique, de résultat ou de téléchargement correspondante. Ne lancez jamais une seconde génération uniquement pour vérifier l’avancement.
HTTP 200

Notes de l’opération

  • Utilisez un requestId UUID v4 pour la modification souhaitée et réutilisez-le avec des arguments identiques lors des nouvelles tentatives. jobId est égal à ce requestId.
  • L’admission renvoie started ou queued, sans indiquer la fin de l’exécution. Interrogez segment_actions_list et recherchez l’élément dont items[].id est égal à jobId jusqu’à completed, failed ou cancelled, puis actualisez transcripts_get et projects_get.
  • queue.revision suit l’état de la file d’attente ; ce n’est pas une révision de la structure des segments sources. Les actions en file d’attente capturent la structure actuelle lors de leur admission. Une modification ultérieure incompatible de la structure peut faire échouer l’élément avec SEGMENT_STRUCTURE_CHANGED.
  • Une seule action en attente est admise pour une même cible logique de segment. Un nouveau requestId ne contourne pas SEGMENT_ACTION_ALREADY_PENDING.
  • Les échecs d’exécution dans la file d’attente apparaissent avec items[].status failed et errorCode, sans modifier le résultat de soumission réussie.
  • workId et translatedVersionId doivent appartenir au projet sélectionné et être associés l’un à l’autre. Le worker évalue le média actuel, l’état des segments, les autorisations et les crédits au début de l’exécution.
  • segmentTranslationInstructions est facultatif et limité à 500 caractères. regenerateLipSync à true demande la régénération de la synchronisation labiale du segment après la synthèse vocale, en utilisant le dernier mode de synchronisation labiale de cette version.
  • Les crédits média habituels s’appliquent. Une admission réussie ne signifie pas que la régénération ou la synchronisation labiale facultative a réussi.
  • Une fois l’élément de la file terminé, actualisez projects_get et transcripts_get ; la réponse elle-même ne contient aucune nouvelle URL audio ou vidéo.
  • Les réponses de la file, y compris lors de la soumission, de l’annulation, du suivi et du rejeu, contiennent uniquement les métadonnées des actions. Consultez le contenu de la transcription avec transcripts_get et la permission requise transcription:read.

Utilisation

Chaque invocation réussie consomme un appel du quota mensuel API/MCP. Les crédits média et les quotas de génération propres à l’opération s’appliquent également.

Erreurs