Skip to main content
POST
Créez un projet à partir de votre fileKey téléversé, transcrivez-le, traduisez-le, puis synthétisez sa voix. Accepte vos SRT, voix, sous-titres et la synchronisation labiale facultative. Utilise les crédits média habituels. Une webhookUrl facultative reçoit les événements de traitement. Consultez projects_status.

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: projects:write, translations:write, transcription: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: 1024.
string
requis
Valeur textuelle.Valeurs acceptées: “afrikaans”, “albanian”, “amharic”, “arabic”, “armenian”, “assamese”, “azerbaijani”, “basque”, “belarusian”, “bengali”, “bosnian”, “bulgarian”, “catalan”, “croatian”, “czech”, “danish”, “dutch”, “english”, “british english”, “estonian”, “finnish”, “french”, “french canadian”, “galician”, “german”, “greek”, “gujarati”, “hebrew”, “hindi”, “hungarian”, “icelandic”, “indonesian”, “irish”, “italian”, “japanese”, “kannada”, “kazakh”, “khmer”, “korean”, “lao”, “latvian”, “lithuanian”, “macedonian”, “malay”, “malayalam”, “mandarin”, “marathi”, “mongolian”, “nepali”, “norwegian”, “persian”, “polish”, “portuguese”, “brazilian portuguese”, “pt_brazil”, “punjabi”, “romanian”, “russian”, “serbian”, “slovak”, “slovenian”, “spanish”, “swahili”, “swedish”, “tagalog”, “tamil”, “telugu”, “thai”, “turkish”, “ukrainian”, “urdu”, “vietnamese”, “welsh”, “yoruba”, “zulu”.
string
Valeur textuelle.Valeurs acceptées: “af”, “sq”, “am”, “ar”, “hy”, “as”, “ast”, “az”, “ba”, “eu”, “be”, “bn”, “bs”, “br”, “bg”, “my”, “ca”, “ceb”, “zh”, “hr”, “cs”, “da”, “nl”, “en”, “eo”, “at”, “et”, “fil”, “fo”, “fi”, “fr”, “fr-CA”, “fy”, “ff”, “gd”, “gl”, “lg”, “ka”, “de”, “el”, “gu”, “ht”, “ha”, “haw”, “he”, “hi”, “hu”, “is”, “ig”, “ilo”, “id”, “ia”, “ga”, “it”, “ja”, “jv”, “kea”, “kn”, “kk”, “km”, “kur”, “kir”, “ko”, “lo”, “la”, “luo”, “lv”, “lb”, “ln”, “lt”, “mk”, “mg”, “ms”, “ml”, “mt”, “mi”, “mr”, “mo”, “mn”, “ne”, “no”, “nn”, “nso”, “nya”, “oc”, “or”, “pa”, “ps”, “fa”, “pl”, “pt”, “ro”, “ru”, “sa”, “sr”, “sn”, “sd”, “si”, “sk”, “sl”, “so”, “es”, “su”, “sw”, “ss”, “sv”, “tl”, “tg”, “ta”, “tt”, “te”, “th”, “bo”, “tn”, “tr”, “tk”, “ug”, “uk”, “umb”, “ur”, “uz”, “vi”, “cy”, “wo”, “xh”, “yi”, “yo”, “zu”, “cmn”, “yue”, “en-GB”, “en-US”, “en-AU”, “auto-detect”.
string
Valeur textuelle.Longueur minimale: 1. Longueur maximale: 200.
string
Valeur textuelle.Valeurs acceptées: “1”, “2”, “3”, “4”, “5”, “6”, “7”, “8”, “9”, “10”, “11”, “12”, “13”, “14”, “15”, “16”, “17”, “18”, “19”, “20”, “21”, “22”, “23”, “24”, “25”, “26”, “27”, “28”, “29”, “30”, “31”, “32”, “auto-detect”.
array
Liste de valeurs. Consultez le schéma d’entrée complet pour connaître la structure de ses éléments.Nombre maximal d’éléments: 1000.
boolean
Valeur booléenne.
string
Valeur textuelle.Longueur maximale: 1000000.
string
Valeur textuelle.Longueur maximale: 2048. Format: “uri”.
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}$.
boolean
Valeur booléenne.
boolean
Valeur booléenne.
number
Valeur numérique.Minimum: 1. Maximum: 70.
string
Valeur textuelle.Valeurs acceptées: “cloning”, “custom”.
string
Valeur textuelle.Longueur minimale: 1. Longueur maximale: 128.
boolean
Valeur booléenne.
string
Valeur textuelle.Valeurs acceptées: “translated”, “original”.
string
Valeur textuelle.Valeurs acceptées: “studio”, “realistic”.
string
Valeur textuelle.Valeurs acceptées: “standard”, “pro”, “studio”.
boolean
Valeur booléenne.
object
Objet JSON. Consultez le schéma d’entrée complet pour connaître ses champs imbriqués.
array
Liste de valeurs. Consultez le schéma d’entrée complet pour connaître la structure de ses éléments.Nombre maximal d’éléments: 100.
string
Valeur textuelle.Longueur maximale: 1000000.
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 un nouvel identifiant de projet après le démarrage de la transcription suivie de la traduction et de la synthèse vocale, ou du doublage avec une traduction fournie.

Champs du résultat

translatedSrt est fourni et accepté.

Les mêmes champs de résultat accusent réception du doublage du texte cible fourni.
HTTP 200

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

  • Le fileKey finalisé doit appartenir à l’acteur authentifié. Le serveur mesure la durée et la taille du média stocké.
  • Un sourceSrt facultatif nécessite un originalLanguage explicite. Lorsque translatedSrt est également fourni, les deux SRT doivent avoir le même nombre de blocs ; la traduction fournie est associée selon l’index des blocs.
  • Lorsque translatedSrt est fourni, le workflow double ce texte et renvoie l’accusé de réception de la traduction fournie. Avec sourceSrt, l’alignement des séquences se fait par index ; sans sourceSrt, il utilise la chronologie de la transcription automatique.
  • Le résultat de création ne contient ni workId ni translatedVersionId. Récupérez-les dans projects_status ou projects_get dès qu’ils existent.
  • voiceMode vaut cloning par défaut. Avec voiceMode custom, utilisez une voix du catalogue ou une voix personnalisée enregistrée par le compte authentifié ; ne fournissez pas voiceCloningSettings. La facturation en équipe ne donne pas accès aux voix enregistrées des autres membres.
  • Les champs facultatifs subtitles, lipSyncMode et translationTimeSkips nécessitent une vidéo en entrée. Les plages ignorées doivent rester dans la durée du média, keepBackgroundMusic doit valoir true et keepOriginalVoice doit valoir false.
  • lipSyncMode accepte standard, pro ou studio, sous réserve du forfait et des vérifications habituelles des crédits média. La synthèse vocale et la synchronisation labiale ne deviennent pas gratuites lorsque les appels API mensuels sont illimités.
  • Interrogez régulièrement projects_status pour suivre le traitement média ; récupérez toutes les versions linguistiques avec projects_get.
  • originalLanguage utilise des codes de langue source tels que fr ou en (ou auto-detect lorsque cette valeur est acceptée) ; targetLanguage utilise des noms de langues cibles pris en charge, tels que english.

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