Skip to main content
POST
Publiez ou programmez une traduction terminée, une vidéo avec synchronisation labiale ou une vidéo avec sous-titres dynamiques sur l’une de vos propres chaînes connectées. L’URL de la vidéo provient de la version stockée sélectionnée.

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: publishing:write, projects:read. 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: ^[^/\\]+$.
string
requis
Valeur textuelle.Valeurs acceptées: “youtube”, “tiktok”.
string
requis
Valeur textuelle.Longueur minimale: 1. Longueur maximale: 200. Motif: ^[^/\\]+$.
string
Valeur textuelle.Valeurs acceptées: “translated”, “lip-synced”, “dynamic-subtitles”. Valeur par défaut: “translated”.
string
requis
Valeur textuelle.Longueur minimale: 1. Longueur maximale: 100.
string
Valeur textuelle.Longueur maximale: 5000.
string
Valeur textuelle.Valeurs acceptées: “public”, “unlisted”, “private”. Valeur par défaut: “private”.
string
Valeur textuelle.Valeurs acceptées: “PUBLIC_TO_EVERYONE”, “MUTUAL_FOLLOW_FRIENDS”, “FOLLOWER_OF_CREATOR”, “SELF_ONLY”. Valeur par défaut: “SELF_ONLY”.
string
Valeur textuelle.Format: “date-time”. Motif: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$.
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}$.
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

Cette opération renvoie HTTP 202 pendant son exécution. Conservez requestId et interrogez action_request_get avec cet identifiant et le nom de l’opération d’origine. Les états de suivi sont running, completed, failed et interrupted. Un résultat terminé peut renvoyer vers une tâche média distincte ; poursuivez avec l’action de statut ou de résultat propre à l’opération. Renvoie soit un identifiant de publication planifiée et un horodatage, soit un identifiant de vidéo publiée immédiatement et une URL.

Champs du résultat

scheduledAt est omis et le service de publication immédiate termine son exécution.

Renvoie l’identité de la tentative de publication immédiate et les informations de la vidéo sur la plateforme.
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

  • Cette action publie sur une plateforme externe. Sélectionnez une chaîne appartenant à l’acteur authentifié ; l’accès aux médias d’un projet d’équipe ne donne pas accès à la chaîne d’un autre membre.
  • videoSource vaut translated par défaut. lip-synced sélectionne la dernière vidéo de synchronisation labiale terminée ; dynamic-subtitles sélectionne la sortie de sous-titres dynamiques enregistrée. La version doit être terminée et la sortie choisie doit exister.
  • L’intégration utilise par défaut private pour YouTube et SELF_ONLY pour TikTok. L’URL de la vidéo provient de la version enregistrée autorisée, et non d’une URL fournie par l’appelant.
  • scheduledAt est facultatif. S’il est fourni, il doit s’agir d’une date et heure ISO valide avec un décalage horaire, strictement dans le futur ; le gestionnaire renvoie sa valeur en millisecondes Unix. Sans ce champ, l’action publie immédiatement.
  • Cette action prend du temps. Interrogez régulièrement action_request_get pour obtenir le résultat du gestionnaire, puis publishing_list pour suivre l’état de publication. Les réponses planifiées et immédiates comportent des champs différents.
  • Le gestionnaire immédiat renvoie le statut published avec le videoId fourni par le service de publication sur les réseaux sociaux et, facultativement, videoUrl. La réponse de planification en file d’attente n’inclut ni videoId ni videoUrl.
  • Pour TikTok, videoId peut correspondre à l’identifiant de publication de la plateforme lorsqu’aucun identifiant vidéo numérique définitif n’est disponible ; videoUrl peut utiliser comme solution de repli l’URL de la chaîne connectée ou la vidéo source enregistrée.

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