Communitygithub.com

product-video

Planifier et générer des courtes vidéos produit et e-commerce avec Makernice, comme des présentations de produits, des clips publicitaires et des vidéos pour les fiches marketplace. Inclut le choix du mode, la rédaction du prompt, la sélection du rapport hauteur/largeur et de la résolution, la vérification du prix et l'exécution du travail.

Qu'est-ce que product-video ?

Cette compétence permet de transformer un produit (de préférence avec une photo) en une courte vidéo clip via l'API Makernice. Elle est conçue pour les agents IA utilisés par des développeurs et des professionnels du e-commerce souhaitant automatiser la création de vidéos promotionnelles pour des plateformes comme TikTok, les marketplaces ou les sites web. La compétence guide l'agent à travers toutes les étapes : collecte du brief produit (description, photo publique, usage, budget), sélection du modèle et du mode (i2v avec photo, t2v sans photo, r2v avec plusieurs angles), rédaction d'un prompt optimisé, estimation du coût, génération avec gestion des erreurs et vérification du statut. Les plateformes supportées incluent Makernice via ses outils API (list_models, estimate_cost, generate, check_job, get_balance, cancel_job). L'agent doit respecter des règles strictes : ne pas lancer la génération sans accord de l'utilisateur sur le prix, utiliser des request_id uniques, et gérer les refus pour dépassement de budget ou limites de taux.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/makernice/makernice-plugin/tree/HEAD/skills/product-video

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Vidéo produit

Transformez un produit (idéalement avec une photo) en un court clip vidéo. Répondez dans la langue de l'utilisateur. Tous les prix sont en USD.

1. Recueillir le brief

Ne demandez que ce qui manque :

  • Produit : ce que c'est, matière, couleur, taille, la caractéristique à montrer.
  • Photo du produit : un lien https public vers une photo nette. Les fichiers locaux et les liens privés ne fonctionnent pas ; l'utilisateur doit d'abord héberger l'image à une URL https publique.
  • Où il sera utilisé : cela définit le rapport hauteur/largeur.
    • TikTok, Reels, Shorts, stories : 9:16
    • Bannière de site web, YouTube, page de destination : 16:9
    • Fiche marketplace, publication de flux : 1:1 (si le modèle le propose)
  • Durée et budget : la plupart des clips durent 5 à 10 secondes. Pour une vidéo plus longue, prévoyez plusieurs clips courts plutôt qu'un seul long.

2. Choisir le modèle et le mode

Appelez list_models, puis rappelez-le avec model défini sur un identifiant candidat pour voir ses modes, aspect_ratios, durations, options et max_prompt_chars.

  • Photo disponible : utilisez un mode i2v avec la photo comme image_url. Cela conserve la forme, l'étiquette et la couleur réelles du produit.
  • Plusieurs photos de référence (produit sous différents angles) : utilisez un mode r2v si le modèle en possède un, avec reference_images, dans la limite de max_references.
  • Pas de photo : utilisez un mode t2v et décrivez précisément le produit.
  • Si un modèle liste negative_prompt dans options, vous pouvez l'utiliser pour des choses comme « étiquette déformée, pièces supplémentaires, flou ».

3. Rédiger le prompt

Un clip, un plan. Construisez le prompt dans cet ordre :

  1. Sujet : le produit exact, avec matière et couleur (« une tasse à café en céramique noire mate avec une base en liège »).
  2. Action ou mouvement de caméra : un seul mouvement, par exemple un zoom avant lent, une orbite fluide à 360 degrés, un dévoilement de haut en bas, un panoramique macro sur la texture, une main qui le saisit.
  3. Cadre et lumière : surface, arrière-plan, éclairage (« sur une table en chêne clair, lumière douce de fenêtre le matin, faible profondeur de champ »).
  4. Style et rythme : « aspect commercial propre, rythme calme ».

Conseils :

  • Ne demandez pas au modèle de rendre des mots, des prix ou des logos en tant que texte ; ils ressortent souvent déformés. Ajoutez le texte plus tard dans un éditeur.
  • Avec i2v, décrivez le mouvement et la scène, pas l'apparence du produit ; la photo la définit déjà.
  • Restez en dessous de max_prompt_chars.

Exemple :

Une tasse à café en céramique noire mate avec une base en liège sur une table en chêne clair, de la vapeur qui s'élève, la caméra se rapproche lentement, lumière douce de fenêtre le matin, faible profondeur de champ, aspect commercial propre, rythme calme.

4. Résolution et prix

  • Créez d'abord un brouillon en 720p pour vérifier le mouvement et le cadrage ; cela coûte moins cher. Réalisez la version finale en 1080p pour le site web, les publicités ou les grands écrans. La 720p est souvent suffisante pour les flux sur téléphone.

  • Appelez estimate_cost pour le brouillon et les options finales et montrez les deux prix à l'utilisateur avant toute exécution :

    {"input": {"model": "<model id>", "mode": "i2v", "prompt": "A matte black ceramic coffee mug on a light oak table, steam rising, the camera slowly pushes in, soft morning light", "image_url": "https://example.com/mug.jpg", "duration": 5, "resolution": "720p", "aspect_ratio": "9:16"}}
    

5. Générer après l'accord de l'utilisateur

N'appelez generate qu'après que l'utilisateur a vu le prix et a dit oui. Si l'utilisateur a déjà défini un budget et vous a dit de continuer, vous pouvez commencer sans redemander tant que amount_usd est dans ce budget ; utilisez toujours amount_usd, pas le budget, comme max_cost_usd.

  • max_cost_usd : obligatoire. Utilisez le amount_usd approuvé provenant de estimate_cost, exactement comme retourné. Le travail est refusé si le prix est plus élevé.
  • request_id : obligatoire et unique pour chaque nouveau travail, ASCII imprimable sans espaces, au maximum 64 caractères, par exemple mug-orbit-720p-1. Un identifiant utilisé ne peut jamais être réutilisé pour un travail différent.
  • Si generate échoue avec une erreur réseau, un délai d'attente, une erreur système ou « Too many requests », attendez quelques secondes et réessayez avec les mêmes input, max_cost_usd et request_id. Le même identifiant renvoie le même travail et n'est jamais facturé deux fois.
{"input": {"model": "<model id>", "mode": "i2v", "prompt": "A matte black ceramic coffee mug on a light oak table, steam rising, the camera slowly pushes in, soft morning light", "image_url": "https://example.com/mug.jpg", "duration": 5, "resolution": "720p", "aspect_ratio": "9:16"}, "max_cost_usd": "<amount_usd from estimate_cost>", "request_id": "mug-orbit-720p-1"}

Attendez avec check_job, en passant job_id et wait_s défini sur 55 ; si le travail est toujours en cours, suivez next_step et appelez à nouveau avec wait_s 55. N'interrogez pas en boucle serrée.

En cas de succès, donnez le lien du résultat depuis outputs et le console_url. Les liens expirent après 24 heures ; check_job en renvoie des nouveaux. Si une sortie a state blocked et pas d'url, la vérification de sécurité a masqué le résultat après sa génération ; ce travail est tout de même facturé, et l'utilisateur peut contacter Makernice pour le faire examiner. Les travaux échoués ne sont pas facturés ; indiquez à l'utilisateur la raison depuis error.

Pour une vidéo multi-clips, exécutez un travail par clip, chacun avec son propre estimate_cost, max_cost_usd et un nouveau request_id, et donnez à l'utilisateur le total cumulé.

Gestion des refus

  • Prix supérieur à max_cost_usd : affichez le nouveau prix et demandez avant de réessayer avec un nouveau max_cost_usd et un nouveau request_id.
  • Au-dessus de la limite par travail : suggérez la 720p ou une durée plus courte, ou l'utilisateur peut augmenter la limite par travail sur Makernice.
  • Solde insuffisant ou limite quotidienne atteinte : appelez get_balance et expliquez. Si l'outil get_topup_link est disponible et que l'utilisateur demande comment ajouter du solde, donnez le lien une fois.
  • Paramètres incorrects sur un travail en file d'attente : cancel_job avec son job_id libère intégralement le montant bloqué.

Skills associés