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

# API TikTok

> Options de publication à l'aide de l'API TikTok

<Info>
  Ayrshare propose la [publication directe de vidéos TikTok](https://www.ayrshare.com/blog/introducing-tiktok-direct-publishing-analytics-and-commenting/), la gestion des commentaires et la récupération de statistiques avancées pour votre compte TikTok personnel ou professionnel via l'API TikTok.

  TikTok traite les vidéos et photos de manière asynchrone ; la réponse JSON aura donc status: « pending » aussi bien pour les publications immédiates que planifiées. Une fois que TikTok a terminé le traitement, le [webhook Scheduled Action](/apis/webhooks/actions#scheduled-action) que vous avez enregistré sera appelé.
</Info>

## Publication vidéo TikTok

JSON pour une publication vidéo TikTok de base qui est directement diffusée :

```json TikTok Video Post theme={"system"}
{
  "post": "The best TikTok \n video ever #bestvideo", // Max 2,200 characters with a line break
  "mediaUrls": ["https://img.ayrshare.com/012/tiktok.mp4"],
  "platforms": ["tiktok"]
}
```

Exemple de réponse JSON à la publication :

```json TikTok Video Post Response theme={"system"}
{
  "status": "success",
  "errors": [],
  "postIds": [
    {
      "status": "success",
      "idShare": "video.7088122496758679353.nzLqBWbf",
      "id": "pending",
      "isVideo": true,
      "platform": "tiktok"
    }
  ],
  "id": "lb42orDhySAZmLWtj6b6",
  "refId": "23a9da9e0df1184a7a6a1fc2c60b8023aa9a32a1",
  "post": "The best TikTok video ever #bestvideo"
}
```

<ul class="custom-bullets">
  <li>
    TikTok ne prend pas actuellement en charge les sauts de ligne dans le texte de publication. Les sauts de ligne inclus seront
    ignorés.
  </li>

  <li>
    Une seule vidéo ou jusqu'à 35 images peuvent être publiées. TikTok ne prend pas en charge la combinaison de
    vidéo et d'images. Voir ci-dessous pour plus de détails.
  </li>

  <li>
    Si la vidéo ne se termine pas par une extension connue, utilisez
    [isVideo](/apis/post/overview#video-extension).
  </li>

  <li>
    TikTok prend également en charge l'envoi de médias sans texte de publication. Si vous ne souhaitez pas inclure de texte,
    envoyez une chaîne vide `post: ""`.
  </li>

  <li>
    Consultez [TikTok Media Guidelines](/media-guidelines/tiktok) et [TikTok
    Authorization](/dashboard/connect-social-accounts/tiktok) pour plus d'informations.
  </li>
</ul>

### Exigences vidéo TikTok

<ul class="custom-bullets">
  <li>Consultez [TikTok Video Requirements](/media-guidelines/tiktok#video).</li>

  <li>
    La vidéo doit se terminer par une extension vidéo connue telle que mp4. Vous pouvez utiliser un reverse proxy pour l'URL,
    ajouter une [URL vanity avec un
    CDN](https://www.ayrshare.com/blog/how-to-put-a-cdn-in-front-of-firebase-cloud-storage/), ou utiliser le
    point de terminaison [/media](/apis/media/overview).
  </li>

  <li>La limite de caractères du texte de publication TikTok est de 2 200.</li>
</ul>

<Note>
  TikTok limite la publication de vidéos via l'API à 6 vidéos par minute avec un maximum de 15 vidéos par
  jour.
</Note>

## Publication image TikTok

JSON pour une publication image (photo) TikTok de base qui est directement diffusée :

```json TikTok Image Post theme={"system"}
{
  "post": "The best TikTok \n video ever #bestvideo", // Max 2,200 characters with a line break
  "mediaUrls": [
    "https://img.ayrshare.com/012/gb.jpg",
    "https://img.ayrshare.com/random/photo-1.jpg"
  ], // Up to 35 images
  "platforms": ["tiktok"]
}
```

Exemple de réponse JSON :

```json TikTok Image Post Response theme={"system"}
{
  "status": "success",
  "errors": [],
  "postIds": [
    {
      "status": "success",
      "idShare": "p_pub_url~v2.7408974036430047275",
      "id": "pending",
      "isVideo": false,
      "platform": "tiktok"
    }
  ],
  "id": "8815mJ5bWApEebWjE233",
  "tikTokId": "p_pub_url~v2.7408974036430047333",
  "refId": "9abf1426d6ce9122ef11c72bd62e59807c5cc333",
  "post": "Opportunity is missed by most people because it is dressed in overalls and looks like work - Thomas Edison"
}
```

<ul class="custom-bullets">
  <li>
    TikTok ne prend pas actuellement en charge les sauts de ligne dans le texte de publication. Les sauts de ligne inclus seront
    ignorés.
  </li>

  <li>Une seule vidéo ou jusqu'à 35 images peuvent être publiées.</li>

  <li>
    TikTok ne prend pas en charge la combinaison de vidéo et d'images. Voir ci-dessous pour plus de détails.
  </li>

  <li>Les images doivent être de type JPG, JPEG ou WEBP. TikTok n'accepte pas les fichiers média PNG.</li>

  <li>
    Vous pouvez également sélectionner l'une des images comme photo de couverture avec `imageCoverIndex`. Par défaut,
    la première image est utilisée. Voir ci-dessous pour plus de détails.
  </li>
</ul>

### Exigences d'image TikTok

<ul class="custom-bullets">
  <li>Consultez [TikTok Image Requirements](/media-guidelines/tiktok#images).</li>
  <li>Jusqu'à 35 images peuvent être incluses dans une publication, avec un maximum de 20 Mo par image.</li>
  <li>Les images doivent être de type JPG, JPEG ou WEBP. TikTok n'accepte pas les fichiers média PNG.</li>
  <li>La limite de caractères du texte de publication TikTok est de 2 200.</li>
</ul>

<Note>
  TikTok limite la publication d'images via l'API à 6 photos par minute avec un maximum de 15 photos par
  jour.
</Note>

## Traitement TikTok

TikTok effectue un traitement asynchrone des vidéos et images ; la réponse aura donc le champ `id` défini sur `"pending"`.
Une fois que TikTok a terminé son traitement, généralement en 1 à 2 minutes, le champ `id` sera mis à jour avec l'`id` vidéo TikTok et un `postUrl` sera ajouté.

<ul class="custom-bullets">
  <li>
    Vous pouvez récupérer le statut final de la publication TikTok à l'aide des
    [webhooks](/apis/webhooks/actions#tiktok-publishing-webhook) ou du point de terminaison
    [/history](/apis/history/overview) et cela prend généralement jusqu'à 1-2 minutes pour être disponible.
  </li>

  <li>
    Lorsque l'utilisateur publie la vidéo dans l'application mobile TikTok, un webhook « scheduled » sera envoyé
    avec `subAction: "tikTokPublished"`.
  </li>

  <li>
    Un [premier commentaire](/apis/post/overview#first-comment) sur une publication TikTok est différé : il est publié
    automatiquement une fois que le webhook `tikTokPublished` résout l'`id` réel de la vidéo, et non au moment de la
    publication. La `visibility` de la vidéo doit être `public`, sinon le premier commentaire ne peut pas être publié et une
    erreur de commentaire est renvoyée.
  </li>

  <li>
    Si une erreur survient, par exemple si TikTok n'a pas pu traiter la vidéo ou si les tests internes d'Ayrshare
    ont échoué, le champ `id` sera défini sur « failed » et le champ `errors` contiendra les
    détails de l'erreur.
  </li>

  <li>Le champ `idShare` est utilisé pour référencer en interne la vidéo en attente.</li>
</ul>

## Options TikTok

Lors de la publication d'une vidéo ou d'images TikTok, des [options supplémentaires](/apis/post/social-networks/tiktok#available-tiktok-options) sont disponibles.

Exemple de publication vidéo :

```json TikTok Video Publishing theme={"system"}
{
  "tikTokOptions": {
    "disableComments": true, // Default false. Disable comments on the published video.
    "disableDuet": true, // Default false. Disable duets on the published video.
    "disableStitch": true // Default false. Disable stitches on the published video.
  }
}
```

Exemple de publication d'images :

```json TikTok Image Publishing theme={"system"}
{
  "tikTokOptions": {
    "imageCoverIndex": 1, // Use the second image in the mediaUrls.
    "title": "Amazing images"
  }
}
```

### Options

Les options suivantes sont disponibles pour les publications TikTok.
Elles doivent être ajoutées à l'objet `tikTokOptions`.
Voir ci-dessous pour plus de détails sur chaque option.

```json TikTok Options theme={"system"}
{
  "post": "The best TikTok video ever #bestvideo",
  "mediaUrls": ["https://img.ayrshare.com/012/tiktok.mp4"],
  "platforms": ["tiktok"],
  "tikTokOptions": {
    "autoAddMusic": true,
    "disableComments": true,
    "disableDuet": true,
    "disableStitch": true,
    "draft": true,
    "isAIGenerated": true,
    "isBrandedContent": true,
    "isBrandOrganic": true,
    "imageCoverIndex": 1,
    "title": "Amazing images",
    "thumbNailOffset": 30000,
    "visibility": "public"
  }
}
```

<ParamField body="autoAddMusic" type="boolean" default={false}>
  Ajoute automatiquement la musique recommandée à la publication.
  Si vous définissez ce champ sur `true`, vous pourrez modifier la musique plus tard dans l'application TikTok.

  Type de média : image
</ParamField>

<ParamField body="disableComments" type="boolean" default={false}>
  Désactive les commentaires sur la publication diffusée.

  Type de média : video, image
</ParamField>

<ParamField body="disableDuet" type="boolean" default={false}>
  Désactive les duets sur la vidéo diffusée.

  Type de média : video
</ParamField>

<ParamField body="disableStitch" type="boolean" default={false}>
  Désactive le stitch sur la vidéo diffusée.

  Type de média : video
</ParamField>

<ParamField body="draft" type="boolean" default={false}>
  Crée un brouillon de publication.

  Consultez les [options de brouillon](/apis/post/social-networks/tiktok#tiktok-video-draft-post) pour plus d'informations.

  Type de média : video ou image
</ParamField>

<ParamField body="isAIGenerated" type="boolean" default={false}>
  Active le paramètre « contenu généré par IA » pour la publication vidéo.

  Si vous activez ce paramètre, votre vidéo sera étiquetée « Creator labeled as AI-generated » une fois publiée et ne pourra pas être modifiée.
  L'étiquette « Creator labeled as AI-generated » indique que le contenu a été entièrement généré par IA ou significativement modifié avec de l'IA.

  <Note>
    Activer le paramètre « contenu généré par IA » n'affectera pas la distribution de votre vidéo tant que
    celle-ci ne viole pas les [Community
    Guidelines](https://www.tiktok.com/community-guidelines/en/) de TikTok.
  </Note>

  Type de média : video
</ParamField>

<ParamField body="isBrandedContent" type="boolean" default={false}>
  Active le paramètre <a href="https://creatormarketplace.tiktok.com/help#/doc/9493/10008169">Branded Content</a>. Si ce champ est défini sur `true`, la vidéo sera étiquetée Branded Content, indiquant que vous êtes dans un partenariat payant avec une marque. Une étiquette « Paid partnership » sera attachée à la vidéo.

  Type de média : video, image
</ParamField>

<ParamField body="isBrandOrganic" type="boolean" default={false}>
  Active le paramètre Brand Organic Content. Si ce champ est défini sur `true`, la vidéo sera étiquetée Brand Organic Content, indiquant que vous faites la promotion de vous-même ou de votre propre entreprise. Une étiquette « Promotional content » sera attachée à la vidéo.

  Type de média : video, image
</ParamField>

<ParamField body="imageCoverIndex" type="number" default="0">
  L'index dans `mediaUrls` de l'image à utiliser comme couverture de la publication.

  Type de média : image
</ParamField>

<ParamField body="title" type="string">
  Le titre de la publication.

  Type de média : image
</ParamField>

<ParamField body="thumbNailOffset" type="number">
  La frame à utiliser pour la couverture vidéo.

  Consultez les [options de miniature vidéo](/apis/post/social-networks/tiktok#video-thumbnail) pour plus d'informations.

  Type de média : video
</ParamField>

<ParamField body="visibility" type="string" default="public">
  Comment la publication est partagée et qui peut la voir.

  Valeurs : `public`, `private`, `followers` ou `friends`.

  Consultez les [options de visibilité](/apis/post/social-networks/tiktok#visibility-options) pour plus d'informations.

  Type de média : image
</ParamField>

### Options de visibilité

| Visibilité | Description                                       |
| :--------- | :------------------------------------------------ |
| public     | Visible par tous les utilisateurs TikTok.         |
| private    | Privé, visible uniquement par le compte lui-même. |
| followers  | Visible uniquement par les abonnés du compte.     |
| friends    | Visible uniquement par les abonnés mutuels.       |

Les publications privées resteront au statut `pending` et aucun webhook TikTok ne sera envoyé tant que la publication n'aura pas été rendue publique.

## Miniature vidéo

Il existe deux façons de définir une miniature, également appelée photo de couverture, pour une vidéo TikTok :

1. En utilisant le paramètre `thumbNailOffset` pour définir une frame de miniature.
2. En utilisant le paramètre `thumbNail` pour définir une image de miniature depuis une URL.

Seules les vidéos prennent en charge la définition d'une miniature.

### Offset de miniature

Définissez une miniature pour une vidéo TikTok en sélectionnant une frame d'offset.

```json TikTok Video Thumbnail Offset theme={"system"}
{
  "tikTokOptions": {
    "thumbNailOffset": 30000 // milliseconds of offset image
  }
}
```

L'offset est la position en millisecondes de la frame miniature. La valeur par défaut est `0`, qui correspond à la première frame de la vidéo.

### URL de miniature

Définissez une miniature pour une vidéo TikTok en téléversant une image depuis une URL.

```json TikTok Video Thumbnail URL theme={"system"}
{
  "tikTokOptions": {
    "thumbNail": "https://img.ayrshare.com/012/gb.jpg"
  }
}
```

Si vous utilisez le paramètre `thumbNail`, le paramètre `thumbNailOffset` sera ignoré.

Consultez [TikTok Thumbnail Requirements](/media-guidelines/tiktok#video-thumbnail) pour plus d'informations.

## Mentions TikTok

Mentionnez un autre handle TikTok en ajoutant `@handle` dans le texte de la publication. Par exemple :

```json TikTok Mention theme={"system"}
{
  "post": "Love the @ayrshare social media api"
}
```

<Warning>
  Consultez les [règles importantes](/testing/post-verification#mentions) concernant les mentions.
</Warning>

## Brouillon de publication TikTok

Créez un brouillon de publication pour une vidéo ou une image TikTok, ce qui vous permet de modifier la vidéo ou l'image avant sa diffusion.

```json TikTok Video Draft Post theme={"system"}
{
  "post": "The best TikTok video ever #bestvideo", // empty string is allowed
  "mediaUrls": ["https://img.ayrshare.com/012/tiktok.mp4"],
  "platforms": ["tiktok"],
  "tikTokOptions": {
    "draft": true
  }
}
```

Le brouillon de publication vidéo ou image se trouvera sous les notifications de la boîte de réception (**Inbox**) dans la barre du bas de l'application TikTok.
Recherchez un message **System notifications** puis cliquez sur le message du haut **Your content from Ayrshare is ready**.

Le `postUrl` Ayrshare restera au statut `pending` jusqu'à ce que la vidéo soit publiée. Le premier commentaire n'est pas pris en charge sur les brouillons.

<img src="https://mintcdn.com/ayrshare-docs/Nmrhj2Gh7WSf62Bh/images/apis/post/tiktok-draft-post.webp?fit=max&auto=format&n=Nmrhj2Gh7WSf62Bh&q=85&s=6e7fdce5ef106f6af6cd060bfbc446ba" alt="TikTok Draft Post" class="center" width="278" height="600" data-path="images/apis/post/tiktok-draft-post.webp" />

## Renouvellement de l'autorisation

TikTok doit être réautorisé *tous les ans* via la page Social Accounts.

<ul class="custom-bullets">
  <li>
    Une notification par e-mail et par webhook (action sociale) sera envoyée 15 jours avant l'expiration
    de l'autorisation.
  </li>

  <li>
    La date de renouvellement requise et le nombre de jours restants peuvent être récupérés depuis le
    point de terminaison [/user](/apis/user/overview).
  </li>
</ul>

## Limites de caractères

Consultez [TikTok Character Limits](/help-center/technical-support/character_limits#tiktok-character-limits) pour plus d'informations.

## Informations complémentaires

[Exemples supplémentaires sur l'utilisation de l'API TikTok](https://www.ayrshare.com/blog/tiktok-api-how-to-post-to-tiktok-using-a-social-media-api/).
