L'API et l'automatisation

Brancher Moqi dans tes outils, avec ou sans écrire de code. Formule Studio.

Chercher dans toute l'aide

13 réponses

C'est quoi l'API Moqi, ça sert à quoi ?

L'API te permet de lancer une génération de clips depuis ton propre code ou depuis un outil d'automatisation, sans jamais ouvrir le site. Tu envoies un lien YouTube, Moqi te renvoie un identifiant de génération, puis tu viens chercher les clips finis avec leur lien de téléchargement, leur description et leurs hashtags. C'est fait pour brancher Moqi sur un flux que tu as déjà, par exemple traiter automatiquement chaque nouvelle vidéo de ta chaîne. La documentation complète, avec les exemples, est sur la page Développeurs du site.

Quelle formule il faut pour avoir accès à l'API ?

Il faut la formule Studio, à 39 euros par mois, avec un abonnement actif. Starter et Pro n'ouvrent pas l'API, et un abonnement suspendu ou impayé la ferme aussi. Dans ce cas les deux appels ne répondent pas le même code : le POST qui lance une génération répond 403 api_not_available, le GET qui lit les clips répond 403 access_locked. Même cause, deux codes, un par appel. Le GET répond aussi 403 access_locked pendant le premier mois à 0,99 euro : les clips propres ne se tirent par l'API qu'à partir du premier mois au plein tarif.

Comment j'obtiens ma clé API ?

Va dans ton espace, Réglages, section Accès API, et clique sur « Créer une clé API ». La clé commence par moqi_live_ et ne s'affiche qu'une seule fois : copie-la immédiatement et range-la dans les variables d'environnement de ton projet, jamais dans du code envoyé sur un dépôt public. Ensuite tu ne verras plus que son début, le reste reste masqué, et personne chez Moqi ne peut te la relire. Tu peux avoir 5 clés actives au maximum sur ton compte.

Comment je révoque une clé API ou j'en change ?

Dans ton espace, Réglages, section Accès API, chaque clé a un bouton « Révoquer ». La révocation prend effet tout de suite : tout appel fait avec cette clé répond 401 invalid_api_key. Pour tourner sans coupure, crée d'abord la nouvelle clé, déploie-la dans ton projet, vérifie qu'un appel passe, et révoque l'ancienne seulement après. Si tu as déjà 5 clés actives, révoques-en une avant d'en créer une nouvelle.

Comment j'appelle l'API concrètement ?

Tu fais un POST sur https://moqi.fr/api/v1/clips avec l'en-tête Authorization qui vaut Bearer suivi de ta clé, et un corps JSON qui contient au moins le champ url. Tu peux ajouter clipCount (nombre de clips voulus), clipMax (durée maximale d'un clip en secondes) et hook (true pour incruster une accroche en haut de l'image). Envoie clipCount et clipMax comme de vrais nombres et non comme du texte entre guillemets, sinon ils sont ignorés sans prévenir. Sur Studio, clipCount est ramené entre 1 et 15 et clipMax entre 15 et 120 secondes, une valeur plus haute est ramenée au plafond et non refusée. L'en-tête x-api-key fonctionne aussi à la place d'Authorization, et les clips sortent dans la direction artistique réglée dans Mon style, exactement comme depuis le site.

Quels liens l'API accepte ?

Uniquement des liens YouTube : youtube.com, youtu.be, m.youtube.com et music.youtube.com, y compris les formats /shorts/ et /embed/. Un lien de direct en /live/ est refusé avec le code live_url : attends la fin du direct et reprends le lien classique en watch?v=. Tout autre lien, un fichier hébergé ailleurs par exemple, répond 400 invalid_url. L'envoi d'un fichier depuis ton ordinateur n'existe pas dans l'API, il passe par le site.

Qu'est-ce que l'API me renvoie exactement ?

Le POST répond en 201 avec trois champs : id, status qui vaut pending, et statusUrl. statusUrl est un chemin relatif, colle-le derrière https://moqi.fr pour obtenir l'adresse complète à interroger. Le GET sur https://moqi.fr/api/v1/clips/ suivi de l'id renvoie id, status, progress, error et un tableau clips. Chaque clip du tableau contient id, title, duration, position, downloadUrl, thumbUrl, caption et hashtags. Le tableau clips reste vide tant que la génération n'est pas au moins en cours de fabrication, il se remplit au fur et à mesure.

Un appel API met combien de temps ?

Le POST répond immédiatement : il ne fait que créer la génération et la lancer, il n'attend pas les clips. La fabrication elle-même prend quelques minutes, selon la durée de la vidéo et le nombre de clips demandés. Interroge le GET toutes les cinq secondes environ jusqu'à ce que status vaille done. En plus de pending, processing, done et error, tu peux voir passer relay_pending et relaying : ce sont des étapes normales de récupération de la vidéo, traite-les comme « en cours » et continue d'attendre.

Les liens de téléchargement expirent, je fais quoi ?

Oui, downloadUrl et thumbUrl sont des liens signés valables 1 heure. Passé ce délai, rappelle simplement le GET sur la génération, il te fabrique des liens neufs. Les fichiers eux-mêmes restent 7 jours sur nos serveurs pour un abonné au plein tarif, et le compte à rebours démarre au lancement de la génération, pas à la livraison des clips. Ensuite ils sont supprimés. Télécharge et range tes fichiers chez toi dès que la génération est terminée.

Le quota de l'API est-il partagé avec celui du site ?

Oui, c'est un seul et même compteur. Chaque POST accepté consomme une vidéo de ton quota mensuel, exactement comme une génération lancée depuis le site, et la période comptée est la même des deux côtés. En Studio, ça fait 80 vidéos par mois toutes portes d'entrée confondues. Une fois le plafond atteint, l'API répond 402 quota_exceeded jusqu'au renouvellement de ta période, que tu peux vérifier dans tes réglages.

Il y a une limite de débit sur l'API ?

Par l'API, la limite qui compte vraiment, c'est 3 vidéos en cours de traitement en même temps, et le compteur est COMMUN : une vidéo lancée depuis le site occupe une des trois places. Si tu envoies un quatrième POST pendant que trois tournent, tu reçois 429 too_many_active. Attention à l'inverse : le SITE, lui, n'accepte qu'une seule génération à la fois, donc tant qu'une vidéo tourne, quelle que soit la porte par laquelle tu l'as lancée, la page de génération refusera d'en démarrer une autre. Gère une file d'attente de ton côté : tu envoies, tu attends done, tu envoies la suivante.

Que se passe-t-il en cas d'erreur ?

Chaque erreur revient en JSON avec un champ error, qui est le code stable, et un champ message écrit pour un humain : teste error dans ton code, jamais message. Sur le POST qui lance une génération : 401 invalid_api_key si la clé est absente, inconnue ou révoquée ; 403 api_not_available ; 400 missing_url, invalid_url ou live_url ; 402 quota_exceeded ; 429 too_many_active ; 500 create_failed si la génération n'a pas pu démarrer chez nous. Sur le GET : 401 invalid_api_key, 403 access_locked, 404 job_not_found.

Je peux utiliser l'API sans savoir coder, avec Make, Zapier ou n8n ?

Oui, avec le module HTTP générique de ces outils : il n'existe pas encore de connecteur Moqi tout fait. Crée une action HTTP en POST vers https://moqi.fr/api/v1/clips, ajoute l'en-tête Authorization avec la valeur Bearer suivie de ta clé, et un corps JSON contenant le champ url. Ajoute ensuite une deuxième étape en GET sur la même adresse suivie de l'identifiant reçu, répétée jusqu'à ce que status vaille done. Tu récupères alors les liens des clips et tu les envoies où tu veux.

Tu n'as pas trouvé ta réponse ?

Écris-nous. Un humain te lit et te répond, en général sous vingt-quatre heures ouvrées.

Contacter l'équipe