> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fanifyai.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Ajouter des PPV

> Constituer votre bibliothèque de contenus (gratuits et payants) que l'IA utilise pendant les conversations.

## Introduction

Les **PPV** (*pay-per-view*) sont les contenus de votre bibliothèque : photos, vidéos et audios, **gratuits** ou **payants**. Pendant une conversation, l'IA y pioche pour **envoyer un média gratuit** ou **proposer un contenu payant** via un lien de paiement.

L'essentiel : **importez vos fichiers**, puis pour chacun **renseignez un prix et une description**. C'est tout ce qu'il faut pour démarrer.

## Ajouter des PPV (méthode rapide)

La façon la plus simple d'alimenter votre bibliothèque est le **glisser-déposer**.

<Steps>
  <Step title="Ouvrir l'onglet PPV">
    Allez dans l'onglet **PPV** <img src="https://mintcdn.com/saufrasoft/JhinR4RYKnJEfCOW/assets/ui-elements/sidebar/tab_ppv_hover.png?fit=max&auto=format&n=JhinR4RYKnJEfCOW&q=85&s=354ef46e45c044869fdda1790e20f77a" alt="Onglet PPV" style={{ display: "inline", height: "1.8em", verticalAlign: "middle", margin: "0 0.25em" }} width="240" height="50" data-path="assets/ui-elements/sidebar/tab_ppv_hover.png" />.
  </Step>

  <Step title="Glisser-déposer vos fichiers">
    Faites **glisser un ou plusieurs fichiers** depuis votre ordinateur directement sur la grille des PPV. Les vignettes apparaissent au fur et à mesure de l'envoi.

    <Note>
      Avec **plusieurs fichiers**, une fenêtre **Importer des PPV** s'ouvre : vous pouvez y attribuer un **[Numéro de scénario](#numéro-de-scénario-regrouper-des-médias)** commun (facultatif) à tout le lot, puis cliquer sur **Importer**.
    </Note>
  </Step>

  <Step title="Compléter chaque média">
    Cliquez sur chaque **vignette** importée pour ouvrir l'éditeur, puis :

    1. **Vérifiez la description** (générée automatiquement) et corrigez-la si besoin.
    2. Renseignez le **Prix** : `0` pour un média **gratuit**, une valeur supérieure pour un média **payant**.
    3. *(facultatif)* Ajoutez des **Tags** et ajustez les autres champs.
    4. Cliquez sur **Enregistrer**.
  </Step>
</Steps>

<Note>
  Chaque média importé est **optimisé automatiquement** (format léger, compatible) sans aucune manipulation de votre part. Pendant ce traitement, l'aperçu peut rester indisponible quelques instants : patientez la fin de la bannière `Optimisation en cours…`.
</Note>

Pour comprendre chaque champ en détail, voir [Comprendre les champs d'un PPV](#comprendre-les-champs-dun-ppv).

## Autres façons d'importer un média

Pour ajouter **un seul média** en renseignant tous les champs dès le départ, utilisez le bouton **+** en haut à droite. Il ouvre l'éditeur d'un média unique, où vous pouvez **choisir un fichier**, le **glisser-déposer** sur la zone d'aperçu, le **coller** avec `Ctrl + V`, ou référencer un **lien externe** (en fournissant une miniature).

<Warning>
  Un PPV en **mode lien externe** ne sera **jamais choisi automatiquement** par l'IA en conversation. Importez le fichier directement si vous voulez que l'IA puisse l'envoyer.
</Warning>

<Note>
  Vos médias peuvent être **générés au préalable par l'IA** via un [fournisseur de génération de contenu](/fr/basics/configuration/poyo), mais ce n'est pas obligatoire : vous pouvez parfaitement importer vos propres fichiers existants.
</Note>

## Comprendre les champs d'un PPV

Chaque média possède plusieurs champs. Seuls le **Prix** et la **Description** sont vraiment importants pour démarrer ; les autres affinent le choix de l'IA.

| Champ                       | Rôle                                                                                                                                                          |
| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Prix**                    | `0` = média **gratuit** (badge *Gratuit*), envoyé directement en conversation. Une valeur supérieure à 0 = média **payant**, proposé via un lien de paiement. |
| **Description (texte alt)** | Décrit le contenu du média. C'est le champ que l'IA utilise pour **retrouver le bon média** au bon moment.                                                    |
| **Tags**                    | Mots-clés qui organisent votre bibliothèque et facilitent vos recherches.                                                                                     |
| **Température (0-100)**     | Indique le ton du contenu : `0` = neutre, `100` = explicite. Aide l'IA à choisir un média adapté au moment de l'échange.                                      |
| **Numéro de scénario**      | Regroupe plusieurs médias d'un **même ensemble** (par ex. les photos d'une même séance). Facultatif. Voir ci-dessous.                                         |

<Note>
  La **Description (texte alt)** est **générée automatiquement** à l'ajout du média (bannière `Génération de la description…`). Relisez-la et corrigez-la si besoin : une description fidèle améliore nettement la sélection par l'IA. Le bouton ✨ à côté du champ permet de la **régénérer** à tout moment.
</Note>

### Numéro de scénario (regrouper des médias)

Le **Numéro de scénario** permet de relier plusieurs médias qui forment un ensemble cohérent (un *album*). Donnez le **même numéro** aux médias qui vont ensemble.

Quand l'option **Continuité d'album** est activée (par défaut), l'IA privilégie l'envoi de médias **du même scénario** au fil d'une conversation, pour un rendu cohérent plutôt que des médias sans rapport.

Le détail du fonctionnement (médias gratuits vs payants) est décrit dans la documentation du [ReplyAgent](/fr/advanced/agents/reply-agent#continuit%C3%A9-d%E2%80%99album).

## Gérer votre bibliothèque

Depuis l'onglet **PPV**, plusieurs outils facilitent la gestion de vos médias.

### Mode sélection

Cliquez sur le bouton **Sélection** dans l'en-tête pour activer la **multi-sélection**. Vous pouvez aussi cocher directement une vignette.

<Steps>
  <Step title="Activer la sélection">
    Cliquez sur **Sélection**, puis cochez les médias voulus. Une barre affiche le **nombre d'éléments sélectionnés**.
  </Step>

  <Step title="Choisir une action">
    Ouvrez le menu d'actions de la barre de sélection :

    * **Tout sélectionner** : sélectionne tous les médias affichés.
    * **Télécharger** : récupère les médias sélectionnés sur votre appareil.
    * **Supprimer** : supprime les médias sélectionnés (suppression groupée).
  </Step>
</Steps>

<Warning>
  La suppression est **irréversible**. Une confirmation vous est demandée avant la suppression groupée.
</Warning>

## Comment l'IA retrouve le bon média

Comme indiqué plus haut, l'IA se base sur la **description (texte alt)** pour choisir un média : **sans description, le média est mal indexé** et l'IA aura du mal à le proposer. Cette indexation (calcul d'*embeddings* pour la recherche sémantique) nécessite un [fournisseur LLM configuré](/fr/basics/configuration/openrouter#modèles-d’embedding).

Un média mal indexé affiche le badge **Embedding manquants** sur sa vignette. Pour le corriger : ouvrez le média, vérifiez qu'une **description** est renseignée, puis cliquez sur **Régénérer l'embedding** (bouton à côté du champ **Description**).

<Tip>
  Le filtre **Avec embedding uniquement** (section **Avancé** des **Filtres**) n'affiche que les médias correctement indexés. À l'inverse, repérez ceux qui portent le badge **Embedding manquants** pour savoir lesquels corriger.
</Tip>

## Limite de médias gratuits par fan

Pour éviter les abus, chaque fan ne peut recevoir qu'un **nombre limité de médias gratuits**. Par défaut, un fan peut recevoir **4 médias gratuits** sur une **fenêtre glissante de 24 heures**. Une fois ce seuil atteint, l'IA arrête d'envoyer des contenus gratuits, mais peut toujours **proposer des contenus payants**.

Vous pouvez modifier cette limite dans **Admin** > **Chatting Auto** > **Chatting** :

* champ **Limite de PPV gratuit par utilisateur** : le nombre maximum de médias gratuits ;
* champ **Fenêtre de la limite (heures)** : la durée sur laquelle ce nombre est compté (ex. `24`). Laissez-le **vide** pour appliquer la limite sur tout l'historique.

<Note>
  La **Continuité d'album** (voir [Numéro de scénario](#numéro-de-scénario-regrouper-des-médias)) se règle au même endroit : **Admin** > **Chatting Auto** > **Chatting** > carte **Paramètres AutoReply**.
</Note>

## Condition de validation du guide de démarrage

Dans le [guide de démarrage](/fr/basics/configuration/onboarding), l'étape **Contenus payants (PPV)** se valide uniquement lorsque **les deux** conditions suivantes sont réunies :

* **assez de médias gratuits** : plus que le seuil de la limite ci-dessus (par défaut **4**) ;
* **au moins un média payant** (prix supérieur à 0).

<Check>
  Prévoyez donc une petite réserve de médias gratuits **et** au moins un contenu payant pour cocher cette étape.
</Check>

## Bonnes pratiques

* **Variez les contenus** : alternez gratuits (pour engager et teaser) et payants (pour monétiser).
* **Décrivez précisément** chaque média : une bonne description et des tags pertinents améliorent nettement la sélection par l'IA.
* **Calibrez la température** pour que l'IA propose un contenu cohérent avec le ton de la conversation.
* **Regroupez par scénario** les médias qui vont ensemble pour des envois plus cohérents.
* **Constituez une bibliothèque suffisante** : plus le choix est large, plus l'IA peut varier ses envois et éviter les répétitions.

## Dépannage rapide

* **L'étape PPV du guide de démarrage reste à faire** : vérifiez que vous avez assez de médias gratuits **et** au moins un média payant.
* **L'IA ne propose jamais le bon média** : enrichissez les descriptions et les tags, et vérifiez qu'un [fournisseur LLM](/fr/basics/configuration/openrouter) est configuré.
* **Un média affiche le badge `Embedding manquants`** : ouvrez-le et cliquez sur **Régénérer l'embedding** (vérifiez d'abord qu'une description est renseignée).
* **L'aperçu reste indisponible après l'ajout** : l'**optimisation** est sans doute encore en cours. Patientez la fin de la bannière `Optimisation en cours…`, puis rouvrez le média.
* **L'IA n'envoie plus de média gratuit à un fan** : la **limite de médias gratuits** est probablement atteinte (voir [Limite de médias gratuits par fan](#limite-de-médias-gratuits-par-fan)).
* **Impossible de remplacer le fichier d'un média existant** : recréez un média ; le remplacement de fichier n'est pas pris en charge après création.
