Communitygithub.com

PrunaAI/pruna-skills

Utilisez cette compétence pour un essayage virtuel : habiller une personne avec des vêtements à partir de photos de référence pour la mode ou le e-commerce.

Qu'est-ce que pruna-skills ?

Cette compétence permet à un agent IA de réaliser un essayage virtuel en habillant une personne avec des vêtements issus de photos de référence. Elle est conçue pour les applications de mode et de e-commerce, et nécessite une image de la personne ainsi qu'une ou plusieurs images de vêtements. L'essayage est fidèle aux vêtements fournis, sans modifier la pose, le visage ou les habits au-delà des instructions. La compétence prend en charge jusqu'à 11 vêtements par appel, avec un mode turbo optionnel pour des générations plus rapides. Elle s'appuie sur l'API Pruna et intègre des bonnes pratiques issues des compétences compagnes `generation-diversity` et `image-prompting` pour une génération de prompts rigoureuse et une désambiguïsation claire des références. Idéale pour les essayages de vêtements plats ou portés par un mannequin, elle n'est pas adaptée aux changements d'arrière-plan, qui relèvent d'une autre compétence.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/PrunaAI/pruna-skills/tree/HEAD/skills/image/p-image-try-on

Demander à votre IA préférée

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

Documentation

Prérequis

Installez et chargez ces compétences avant de générer (ignorez si déjà dans le contexte via @pruna) :

CompétenceDescriptionInstallation
generation-diversityÀ utiliser lors de la rédaction de tout prompt génératif — seed rituel, structure explicite, axes de scénario et contrôles de qualité avant les appels API payants.npx skills add PrunaAI/pruna-skills@generation-diversity -y
image-promptingÀ utiliser lors de la création de prompts d'image fixe pour tout modèle génératif — composition, fiches d'identité, éditions, essayage et personnages photoréalistes.npx skills add PrunaAI/pruna-skills@image-prompting -y
pruna-apiÀ utiliser avant tout appel HTTP à Pruna ou Replicate — identifiants, upload/poll/download, lots parallèles et sécurité de l'agent.npx skills add PrunaAI/pruna-skills@pruna-api -y

Ou installez la suite complète en une fois : npx skills add PrunaAI/pruna-skills@pruna -y

Suivez les sections Avant de générer / élaboration de chaque compétence — ne reformulez pas le contenu du guide ici.

Habitude de l'agent

Dans la première réponse, nommez `p-image-try-on` entre guillemets inverses, confirmez PRUNA_API_KEY, puis demandez person_image + garment_images. Ouverture d'un entretien → clarification d'entretien generation-diversity en cas de silence. Lorsque les références nécessitent une désambiguïsation, rédigez avec Élaboration du prompt (dynamique + fidèle) — ne collez pas d'exemples de la compétence. Redirigez les tâches sans fond / sans vêtement vers p-image-edit.

Élaboration du prompt (dynamique + fidèle)

L'identité et les vêtements proviennent de person_image + garment_images[]. Le prompt optionnel désambiguïse uniquement les références — il n'invente pas une nouvelle personne ou tenue.

À faireÀ ne pas faire
Verrouiller d'abord l'URL de person_image et de chaque garment_images[] ; omettre prompt pour les flat-lay propresDécrire une nouvelle scène, un nouveau mannequin ou un vêtement que l'utilisateur n'a pas fourni
Quand les références sont ambiguës : le t-shirt vert de l'image 1 et le pantalon de l'image 2 (élaboration d'essayage image-prompting)Prompts uniquement d'ambiance (vibe éditorial mode) ou copier l'exemple étendu de cette compétence quand les références diffèrent
Seed rituel avant de rédiger la formulation de désambiguïsation ; varier les formulations lorsqu'il existe plusieurs correspondances validesUtiliser prompt pour des échanges d'arrière-plan — rediriger vers p-image-edit
Afficher prompt (si nécessaire) avant POST quand les références sont ambiguësEssayage silencieux qui modifie la pose, le visage ou les vêtements au-delà de la consigne

Vérification de fidélité (avant paiement) : la sortie doit toujours être la personne de l'utilisateur dans le(s) vêtement(s) de l'utilisateur. Si prompt pourrait s'appliquer à un autre ensemble de références, réécrivez la désambiguïsation.

Quand NE PAS utiliser

Utilisez une autre compétence à la place :

CompétenceDescriptionInstallation
p-imageÀ utiliser lorsque quelqu'un demande explicitement la génération de photos la plus rapide et la moins chère — mood boards, panneaux en vrac ou itérations rapides — pas lorsqu'un contrôle photoréaliste ou du texte dans l'image est nécessaire.npx skills add PrunaAI/pruna-skills@p-image -y
p-image-editÀ utiliser lorsque quelqu'un souhaite modifier une photo existante — changer de tenue ou d'arrière-plan, composer à partir d'images de référence, ou appliquer des modifications guidées par prompt.npx skills add PrunaAI/pruna-skills@p-image-edit -y

Tarification

Par génération (identique pour les modes normal et turbo) :

  • 0,015 $ pour le premier vêtement
  • 0,008 $ pour chaque vêtement supplémentaire

Exemple : 3 vêtements → 0,015 $ + 2 × 0,008 $ = 0,031 $.

Structure de la requête

Une person_image, une entrée garment_images[] par pièce (jusqu'à 11), reference_pose optionnelle. Le modèle classifie automatiquement chaque vêtement — l'ordre du tableau n'a pas d'importance. Les catégories mélangées vont dans un seul appel.

  • prompt — uniquement lorsqu'une référence montre plusieurs vêtements ou est portée sur un mannequin ; les flat-lay propres n'ont pas besoin de prompt.
  • preserve_input_size: true (par défaut) — les dimensions de sortie suivent l'image de la personne.

Correspondance des champs Runware : person → person_image, garment → garment_images[], pose → reference_pose, positivePrompt → prompt, settings.turbo → turbo.

HTTP (curl)

Télécharger des images

curl -X POST "https://api.pruna.ai/v1/files" \
  -H "apikey: ${PRUNA_API_KEY}" \
  -F "content=@/path/to/person.jpg"

curl -X POST "https://api.pruna.ai/v1/files" \
  -H "apikey: ${PRUNA_API_KEY}" \
  -F "content=@/path/to/garment.png"

Utilisez chaque urls.get de la réponse dans input.person_image et input.garment_images[]. Optionnel : reference_pose.

Créer (asynchrone — recommandé)

curl -X POST 'https://api.pruna.ai/v1/predictions' \
  -H 'Content-Type: application/json' \
  -H "apikey: ${PRUNA_API_KEY}" \
  -H 'Model: p-image-try-on' \
  -d '{
    "input": {
      "person_image": "https://api.pruna.ai/v1/files/PERSON_FILE_ID",
      "garment_images": ["https://api.pruna.ai/v1/files/GARMENT_FILE_ID"]
    }
  }'

Interrogez et téléchargez : suivez pruna-api.

Effectuez le rituel du seed aléatoire de generation-diversity avant d'écrire les prompts — ne passez pas la chaîne rituelle comme seed de l'API.

Créer (synchrone — test rapide uniquement)

curl -X POST 'https://api.pruna.ai/v1/predictions' \
  -H 'Content-Type: application/json' \
  -H "apikey: ${PRUNA_API_KEY}" \
  -H 'Model: p-image-try-on' \
  -H 'Try-Sync: true' \
  -d '{
    "input": {
      "person_image": "https://api.pruna.ai/v1/files/PERSON_FILE_ID",
      "garment_images": ["https://api.pruna.ai/v1/files/GARMENT_FILE_ID"]
    }
  }'

Entrée étendue (turbo + pose + prompt)

curl -X POST 'https://api.pruna.ai/v1/predictions' \
  -H 'Content-Type: application/json' \
  -H "apikey: ${PRUNA_API_KEY}" \
  -H 'Model: p-image-try-on' \
  -d '{
    "input": {
      "person_image": "https://api.pruna.ai/v1/files/PERSON_FILE_ID",
      "garment_images": [
        "https://api.pruna.ai/v1/files/MULTI_GARMENT_SHOT_ID",
        "https://api.pruna.ai/v1/files/BOTTOM_ID"
      ],
      "reference_pose": "https://api.pruna.ai/v1/files/POSE_REF_ID",
      "prompt": "le t-shirt vert de l'image 1 et le pantalon de l'image 2",
      "turbo": true,
      "output_format": "jpg",
      "output_quality": 95,
      "preserve_input_size": true
    }
  }'

Avant de générer

  1. Suivez l'ordre de lecture des guides de prérequis (generation-diversity → élaboration d'essayage image-prompting).
  2. Seed rituel → rédigez le prompt optionnel de désambiguïsation dynamique + fidèle (section ci-dessus) → confirmez person_image, garment_images (≤6 pour les finales ; 7–8 aboutissent généralement ; 9–11 peuvent abandonner les derniers éléments), et les options turbo / reference_pose / prompt.
  3. Notes Pruna : un élément par zone corporelle (chaussettes + chaussures → généralement les chaussures l'emportent). turbo (~2,5–3,5 s) est désactivé par défaut — déconseillé au-dessus d'environ 4 vêtements pour les finales. Les recadrages en pied ou trois-quarts fonctionnent le mieux. Omettre les gants, moufles, accessoires tenus à la main, pochettes de costume, bretelles, broches de garment_images[].

Entrée requise

  • person_image (URL de chaîne)
  • garment_images (tableau d'URL de chaînes, jusqu'à 11)

Champs optionnels courants

  • seed, output_format (webp / jpg / png, défaut jpg), output_quality (0–100, défaut 95)
  • preserve_input_size (booléen, défaut true)
  • turbo (booléen, défaut false)
  • reference_pose (URL d'image de personne)
  • prompt (EXPÉRIMENTAL — désambiguïser les références non flat-lay / multi-vêtements)

Étapes suivantes typiques

Suites courantes après cette compétence :

CompétenceDescriptionInstallation
p-image-upscaleÀ utiliser lorsque quelqu'un souhaite upscaler ou affiner une image existante pour l'impression, de grands recadrages ou une livraison de meilleure qualité.npx skills add PrunaAI/pruna-skills@p-image-upscale -y
p-video-2-proÀ utiliser lorsque quelqu'un souhaite un clip cinématographique à partir de texte ou d'images de début/fin — publicités produit, plans documentaires ou dialogues avec audio généré. Pas pour du 1080p, des pistes audio importées ou des présentateurs tête parlante uniquement.npx skills add PrunaAI/pruna-skills@p-video-2-pro -y
p-video-2À utiliser lorsque quelqu'un souhaite un clip court et soigné à partir de texte, d'images ou d'audio importé — B-roll 1080p, animation d'images de début/fin ou plan en mouvement avec une piste mixte. Pas pour des clips avec audio généré cinématographique ou des présentateurs tête parlante uniquement.npx skills add PrunaAI/pruna-skills@p-video-2 -y
p-videoÀ utiliser lorsque quelqu'un souhaite un clip court simple à partir de texte ou d'images — B-roll rapide, brouillons ou animation d'images de début/fin. Pas lorsque le brief nécessite une génération cinématographique, la meilleure qualité, un lip-sync serré ou de l'audio importé en 1080p.npx skills add PrunaAI/pruna-skills@p-video -y
p-video-avatarÀ utiliser lorsque quelqu'un souhaite une personne devant une caméra lisant un script — présentateur lip-syncé, porte-parole ou avatar narré à partir d'une photo de portrait.npx skills add PrunaAI/pruna-skills@p-video-avatar -y

Individual skills in this repo

This repo contains 13 individual skills — each has its own dedicated page.

PrunaAI/pruna-skills

Use when someone needs spoken narration or voiceover — explainer tracks, documentary lines, or voice to pair with generated video.

PrunaAI/pruna-skills

Use when someone wants an original AI song with vocals — sung lyrics, a style prompt track, or source audio for a music video.

PrunaAI/pruna-skills

Use when someone needs word-level timestamps from audio — lyric alignment, cut-safe line boundaries, or caption source timing before burn-in with video-editing.

PrunaAI/pruna-skills

Use before any Pruna or Replicate HTTP call — credentials, upload/poll/download, parallel batches, and agent safety.

PrunaAI/pruna-skills

Use when assembling or polishing already-rendered clips with ffmpeg — concat, crossfades, burned captions and subtitles, text/logo overlays, before/after sliders, background music beds, platform export — or when composing a multi-layer HTML combination video with Hyperframes. Not for AI video generation, prompt craft, or model-based video edits.

PrunaAI/pruna-skills

Use when crafting video or motion prompts for any generative model — dramaturgy, camera, physics-safe motion, frame anchors, and clip chaining.

PrunaAI/pruna-skills

Use when someone wants to edit an existing photo — change outfits or backgrounds, compose from reference images, or apply prompt-driven edits.

PrunaAI/pruna-skills

Use when someone explicitly wants the fastest, cheapest photo generation — mood boards, bulk panels, or quick iterations — not when controlled photoreal or in-image text is needed.

PrunaAI/pruna-skills

Use when installing the full Pruna generative media suite — all guides, tools, and workflows in one package.

PrunaAI/pruna-skills

Use when someone wants a cinematic clip from text or start/end frames — product ads, documentary shots, or dialogue with generated audio. Not for 1080p, imported audio tracks, or talking-head-only hosts.

PrunaAI/pruna-skills

Use when someone wants a polished short clip from text, images, or imported audio — 1080p B-roll, start/end frame animation, or a motion shot with a mixed track. Not for cinematic generated-audio clips or talking-head-only hosts.

PrunaAI/pruna-skills

Use when someone wants to edit an existing video with a text instruction — recolor, restyle, remove or add objects, change environment or lighting, update on-screen text, or apply optional reference-guided product and accessory edits. Not for a new clip from scratch or ffmpeg assembly.

PrunaAI/pruna-skills

Use when someone wants a simple short clip from text or images — quick B-roll, drafts, or start/end frame animation. Not when the brief needs cinematic generation, highest quality, tight lip-sync, or imported audio at 1080p.

Skills associés