> ## 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.

# TikTok API

> TikTok API を使用した投稿のオプション

<Info>
  Ayrshare は、TikTok API を使用して、個人用またはビジネス用の TikTok アカウントに対して [TikTok 動画の直接公開](https://www.ayrshare.com/blog/introducing-tiktok-direct-publishing-analytics-and-commenting/)、コメント管理、高度な分析の取得を提供します。

  TikTok は動画と写真を非同期に処理するため、JSON レスポンスは即時投稿とスケジュール投稿の両方で status: "pending" になります。TikTok の処理が完了すると、登録されている [Scheduled Action webhook](/apis/webhooks/actions#scheduled-action) が呼び出されます。
</Info>

## TikTok 動画投稿

直接公開される基本的な TikTok 動画投稿の JSON:

```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"]
}
```

JSON 投稿レスポンスの例:

```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 は現在、投稿テキストの改行をサポートしていません。含まれる改行は無視されます。
  </li>

  <li>
    1 本の動画または最大 35 枚の画像のいずれかを公開できます。TikTok は動画と画像の組み合わせをサポートしていません。詳細は以下を参照してください。
  </li>

  <li>
    動画が既知の拡張子で終わらない場合は、[isVideo](/apis/post/overview#video-extension) を使用してください。
  </li>

  <li>
    TikTok は投稿テキストなしでのメディア送信もサポートします。投稿テキストを含めたくない場合は、空の文字列 `post: ""` を送信してください。
  </li>

  <li>
    詳細は [TikTok メディアガイドライン](/media-guidelines/tiktok) および [TikTok 認証](/dashboard/connect-social-accounts/tiktok) を参照してください。
  </li>
</ul>

### TikTok 動画要件

<ul class="custom-bullets">
  <li>[TikTok 動画要件](/media-guidelines/tiktok#video) を参照してください。</li>

  <li>
    動画は mp4 のような既知の動画拡張子で終わる必要があります。URL をリバースプロキシするか、[CDN 付きのバニティ URL](https://www.ayrshare.com/blog/how-to-put-a-cdn-in-front-of-firebase-cloud-storage/) を追加するか、[/media](/apis/media/overview) エンドポイントを使用してください。
  </li>

  <li>TikTok の投稿テキスト文字数制限は 2,200 です。</li>
</ul>

<Note>
  TikTok は API 動画公開を 1 分あたり 6 本、1 日あたり最大 15 本に制限しています。
</Note>

## TikTok 画像投稿

直接公開される基本的な TikTok 画像（写真）投稿の JSON:

```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"]
}
```

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 は現在、投稿テキストの改行をサポートしていません。含まれる改行は無視されます。
  </li>

  <li>1 本の動画または最大 35 枚の画像のいずれかを公開できます。</li>

  <li>
    TikTok は動画と画像の組み合わせをサポートしていません。詳細は以下を参照してください。
  </li>

  <li>画像は JPG、JPEG、または WEBP タイプである必要があります。TikTok は PNG メディアファイルを受け付けません。</li>

  <li>
    `imageCoverIndex` を使用して、画像の 1 つをカバー写真として選択することもできます。デフォルトでは、最初の画像が使用されます。詳細は以下を参照してください。
  </li>
</ul>

### TikTok 画像要件

<ul class="custom-bullets">
  <li>[TikTok 画像要件](/media-guidelines/tiktok#images) を参照してください。</li>
  <li>1 投稿に画像 1 枚あたり 20 MB で、最大 35 枚の画像を含めることができます。</li>
  <li>画像は JPG、JPEG、または WEBP タイプである必要があります。TikTok は PNG メディアファイルを受け付けません。</li>
  <li>TikTok の投稿テキスト文字数制限は 2,200 です。</li>
</ul>

<Note>
  TikTok は API 動画公開を 1 分あたり 6 枚、1 日あたり最大 15 枚に制限しています。
</Note>

## TikTok 処理

TikTok は動画と画像を非同期に処理するため、レスポンスの `id` フィールドは `"pending"` に設定されます。
TikTok の処理が完了すると、通常 1 〜 2 分以内に、`id` フィールドが TikTok 動画の `id` で更新され、`postUrl` が追加されます。

<ul class="custom-bullets">
  <li>
    TikTok 投稿の最終ステータスは、[webhook](/apis/webhooks/actions#tiktok-publishing-webhook) または [/history](/apis/history/overview) エンドポイントを使用して取得できます。通常、利用可能になるまで 1 〜 2 分かかります。
  </li>

  <li>
    ユーザーが TikTok モバイルアプリで動画を公開すると、`subAction: "tikTokPublished"` を含む "scheduled" webhook が送信されます。
  </li>

  <li>
    TikTok 投稿への [ファーストコメント](/apis/post/overview#first-comment) は延期されます: `tikTokPublished` webhook が実際の動画 `id` を解決すると、公開時ではなく自動的に投稿されます。動画の `visibility` は `public` である必要があります。そうでない場合、ファーストコメントは投稿されず、コメントエラーが返されます。
  </li>

  <li>
    エラーが発生した場合（TikTok が動画を処理できなかった、または Ayrshare の内部テストが失敗した場合など）、`id` フィールドは "failed" に設定され、`errors` フィールドにエラーの詳細が含まれます。
  </li>

  <li>`idShare` は保留中の動画を内部的に参照するために使用されます。</li>
</ul>

## TikTok オプション

TikTok の動画または画像を公開する際、[追加のオプション](/apis/post/social-networks/tiktok#available-tiktok-options) が利用可能です。

動画公開の例:

```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.
  }
}
```

画像公開の例:

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

### オプション

TikTok 投稿では以下のオプションが利用可能です。
これらは `tikTokOptions` オブジェクトに追加してください。
各オプションの詳細については以下を参照してください。

```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}>
  投稿に推奨音楽を自動的に追加するかどうか。
  このフィールドを `true` に設定すると、後で TikTok アプリで音楽を変更できます。

  Media type: image
</ParamField>

<ParamField body="disableComments" type="boolean" default={false}>
  公開された投稿でコメントを無効化するかどうか。

  Media type: video, image
</ParamField>

<ParamField body="disableDuet" type="boolean" default={false}>
  公開された動画でデュエットを無効化します。

  Media type: video
</ParamField>

<ParamField body="disableStitch" type="boolean" default={false}>
  公開された動画でスティッチを無効化します。

  Media type: video
</ParamField>

<ParamField body="draft" type="boolean" default={false}>
  下書き投稿を作成するかどうか。

  詳細については [下書きオプション](/apis/post/social-networks/tiktok#tiktok-video-draft-post) を参照してください。

  Media type: video or image
</ParamField>

<ParamField body="isAIGenerated" type="boolean" default={false}>
  動画投稿の AI 生成コンテンツトグルを有効にするかどうか。

  トグルを有効にすると、投稿された動画は「Creator labeled as AI-generated」とラベル付けされ、変更できなくなります。
  「Creator labeled as AI-generated」ラベルは、コンテンツが完全に AI 生成されたか、AI で大幅に編集されたことを示します。

  <Note>
    AI 生成コンテンツ設定を有効にしても、TikTok の [コミュニティガイドライン](https://www.tiktok.com/community-guidelines/en/) に違反しない限り、動画の配信には影響しません。
  </Note>

  Media type: video
</ParamField>

<ParamField body="isBrandedContent" type="boolean" default={false}>
  <a href="https://creatormarketplace.tiktok.com/help#/doc/9493/10008169">Branded Content</a> トグルを有効にするかどうか。このフィールドが `true` に設定されている場合、動画は Branded Content としてラベル付けされ、ブランドとの有料パートナーシップにあることを示します。「Paid partnership」ラベルが動画に付けられます。

  Media type: video, image
</ParamField>

<ParamField body="isBrandOrganic" type="boolean" default={false}>
  Brand Organic Content トグルを有効にするかどうか。このフィールドが `true` に設定されている場合、動画は Brand Organic Content としてラベル付けされ、自分自身または自社ビジネスを宣伝していることを示します。「Promotional content」ラベルが動画に付けられます。

  Media type: video, image
</ParamField>

<ParamField body="imageCoverIndex" type="number" default="0">
  投稿のカバーとして使用する `mediaUrls` のインデックス。

  Media type: image
</ParamField>

<ParamField body="title" type="string">
  投稿のタイトル。

  Media type: image
</ParamField>

<ParamField body="thumbNailOffset" type="number">
  動画のカバーに使用するフレーム。

  詳細については [動画サムネイルオプション](/apis/post/social-networks/tiktok#video-thumbnail) を参照してください。

  Media type: video
</ParamField>

<ParamField body="visibility" type="string" default="public">
  投稿の共有方法と閲覧可能なユーザー。

  値: `public`、`private`、`followers`、`friends`。

  詳細については [可視性オプション](/apis/post/social-networks/tiktok#visibility-options) を参照してください。

  Media type: image
</ParamField>

### 可視性オプション

| 可視性       | 説明                       |
| :-------- | :----------------------- |
| public    | すべての TikTok ユーザーに表示されます。 |
| private   | プライベート、アカウント自身のみに表示されます。 |
| followers | アカウントのフォロワーのみに表示されます。    |
| friends   | 相互フォロワーのみに表示されます。        |

プライベート投稿は `pending` ステータスのままとなり、投稿が公開されるまで TikTok webhook は送信されません。

## 動画サムネイル

TikTok 動画にサムネイル（カバー写真とも呼ばれます）を設定する方法は 2 つあります。

1. `thumbNailOffset` パラメータを使用してサムネイルフレームを設定します。
2. `thumbNail` パラメータを使用して URL からサムネイル画像を設定します。

サムネイルの設定は動画のみサポートされています。

### サムネイルオフセット

オフセットフレームを選択して TikTok 動画のサムネイルを設定します。

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

オフセットは、サムネイルフレームのミリ秒単位の位置です。デフォルト値は `0` で、動画の最初のフレームです。

### サムネイル URL

URL から画像をアップロードして TikTok 動画のサムネイルを設定します。

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

`thumbNail` パラメータを使用すると、`thumbNailOffset` パラメータは無視されます。

詳細については [TikTok サムネイル要件](/media-guidelines/tiktok#video-thumbnail) を参照してください。

## TikTok メンション

投稿テキストに `@handle` を追加することで、別の TikTok ハンドルにメンションできます。例:

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

<Warning>
  メンションに関する [重要なルール](/testing/post-verification#mentions) を確認してください。
</Warning>

## TikTok 下書き投稿

TikTok 動画または画像の下書き投稿を作成し、公開前に動画や画像を編集できます。

```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
  }
}
```

下書き動画または画像投稿は、TikTok アプリの下部の通知 **Inbox** で見つけることができます。
**System notifications** メッセージを探し、次に上部の **Your content from Ayrshare is ready** メッセージをクリックしてください。

Ayrshare の `postUrl` は、動画が公開されるまで `pending` ステータスのままになります。下書き投稿ではファーストコメントはサポートされていません。

<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" />

## 認証の更新

TikTok は Social Accounts ページ経由で *毎年* 再認証する必要があります。

<ul class="custom-bullets">
  <li>
    認証期限の 15 日前に、メールと webhook のソーシャルアクション通知が送信されます。
  </li>

  <li>
    更新が必要な日と残り日数は、[/user](/apis/user/overview) エンドポイントから取得できます。
  </li>
</ul>

## 文字数制限

詳細は [TikTok 文字数制限](/help-center/technical-support/character_limits#tiktok-character-limits) を参照してください。

## 追加情報

[TikTok API の使用例](https://www.ayrshare.com/blog/tiktok-api-how-to-post-to-tiktok-using-a-social-media-api/) を追加でご覧いただけます。
