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

# YouTube API

> YouTube API を使った投稿オプション

<Warning>
  YouTube への投稿には、YouTube アカウントに少なくとも 1 つのチャンネルがあり、あなたがそのチャンネルの所有者であることが必要です。
  YouTube チャンネルを作成するには、YouTube ダッシュボードでプロファイルをクリックし、「チャンネルを作成」を選択します。
  以下のリンクからも直接 YouTube チャンネルを作成できます: [http://m.youtube.com/create\_channel](http://m.youtube.com/create_channel)

  YouTube チャンネルの表示に問題がある場合は、[YouTube チャンネルトラブルシューティングガイド](/help-center/technical-support/youtube_channels_not_showing) を参照してください。
</Warning>

<Info>
  YouTube のアップロード失敗では、エラーコード **453**（タイムアウト）または **454**
  （サービス利用不可）が `retryAvailable: true` とともに返される場合があります。統合コードは
  このフラグを分岐して、一時的な失敗を自動的にバックオフ付きで再試行できます。
  すべてのリストは [エラーコードリファレンス](/errors/errors-ayrshare) を参照してください。
</Info>

詳細は [YouTube Media Guidelines](/media-guidelines/youtube) および [YouTube Authorization](/dashboard/connect-social-accounts/youtube) を参照してください。

## YouTube への投稿

### 投稿の概要

YouTube API を使った投稿には、`youTubeOptions` オブジェクトと少なくとも `title` パラメーター（最大 100 文字）が必要です。
`title` は必須の唯一のフィールドで、[transcribe エンドポイント](/apis/generate/transcribe-video) で自動生成することもできます。

たとえば、デフォルト設定で YouTube 動画を投稿する場合：

```json YouTube Post theme={"system"}
{
  // Required: Video description
  "post": "My Best YouTube Description", // empty string is allowed

  // Required: Platform to post to
  "platforms": ["youtube"],

  // Required: URL of video (only 1 allowed)
  "mediaUrls": ["https://img.ayrshare.com/012/vid.mp4"],

  "youTubeOptions": {
    // Required: Video title (max 100 characters)
    "title": "Your Best Title"
  }
}
```

YouTube 動画はデフォルトでは `private` ですが、公開範囲を `public` または `unlisted` に設定することもできます。
詳細は下記のオプションフィールドを参照してください。

### YouTube 投稿のオプションフィールド

動画の `visibility`、`tags`、`publishAt` 日付など、他にもいくつかのオプションフィールドがあります。要件と説明については以下のコメントを参照してください。

```json YouTube Post Optional Fields theme={"system"}
{
  // Required fields
  "post": "My Best YouTube Description", // Video description, up to 5,000 characters
  "platforms": ["youtube"], // Platform to post to
  "mediaUrls": ["https://img.ayrshare.com/012/vid.mp4"], // URL of video (1 allowed)

  "youTubeOptions": {
    // Required fields
    "title": "Your Best Title", // Video Title (max 100 characters)

    /** Optional Fields **/

    // Visibility: "public", "unlisted", or "private" (default: "private")
    "visibility": "private",

    // Thumbnail settings - JPEG/PNG URL under 2MB, must end in png/jpg/jpeg
    "thumbNail": "https://img.ayrshare.com/012/gb.jpg",

    // Video organization
    "playListId": "PLrav6EfwgDX5", // Playlist ID to add the video
    "tags": ["dancing", "dogs"], // Tag array (400 chars total, 2+ chars each)

    // Video settings
    "madeForKids": false, // Self-declared kids content (default: false)
    "license": "youtube", // "youtube" (default) or "creativeCommon"
    "embeddable": true, // default: true
    "publicStatsViewable": true, // default: true
    "shorts": true, // Post as YouTube Short (max 3 minutes, adds #shorts)
    "notifySubscribers": true, // Send notification to subscribers (default: true)
    "categoryId": 24, // Video category (24 = Entertainment)
    "containsSyntheticMedia": true, // Disclose that a video contains realistic Altered or Synthetic (A/S) content

    // YouTube controlled publishing - UTC publish time. See below for details.
    "publishAt": "2022-10-08T21:18:36Z",
  }
}
```

<ul class="custom-bullets">
  <li>`title` は 100 文字以下にする必要があります。`post` は 5,000 文字以下にする必要があります。`post` と `title` には \< と > を除く任意の文字を含めることができます。</li>
  <li>Playlist Id は、プレイリストをブラウザで開き、`list=` の後の値をコピーすることで取得できます。動画を追加するには、認証済みユーザーとチャンネルがプレイリストの所有者である必要があります。</li>
  <li>動画が mp4 などの既知の動画拡張子で終わらない場合、`isVideo` パラメーターを使用してください。詳細は [/post エンドポイント](/apis/post/post) を参照してください。</li>
  <li>`publishAt` フィールドを指定すると、YouTube が公開時刻を制御できるようになります。
  動画は公開時刻までプライベートとなり、その時刻に公開されます。
  公開時刻が過去の場合、動画はすぐに公開されます。
  `publishAt` フィールドを使用する際は、投稿の `scheduleDate` フィールドを使用しないでください。</li>
  <li>`containsSyntheticMedia` フィールドは、動画がリアリスティックに改変・合成された (A/S) コンテンツを含むことを開示するために使用します。具体的には、実在の人物が実際には言っていない・していないことを言ったり行ったりしているように見せる、実際の出来事や場所の映像を改変する、実際には起こらなかったリアリスティックに見えるシーンを生成する、などです。</li>
  <li>`license` — 動画のライセンスタイプを設定します。受け付ける値: `"youtube"`（標準 YouTube ライセンス、デフォルト）または `"creativeCommon"`（Creative Commons - Attribution）。</li>
  <li>`embeddable` — ブール値（または文字列 `"true"` / `"false"`）。サードパーティのウェブサイトに動画を埋め込めるかを制御します。デフォルト: `true`。</li>
  <li>`publicStatsViewable` — ブール値（または文字列 `"true"` / `"false"`）。動画の視聴ページにある **拡張統計パネル** が公開閲覧可能かを制御します。基本的な再生回数といいね数は、この設定に関わらず引き続き公開表示されます。デフォルト: `true`。詳細は [YouTube Data API リファレンスの `status.publicStatsViewable`](https://developers.google.com/youtube/v3/docs/videos#status.publicStatsViewable) を参照してください。</li>
  <li>詳細は [YouTube Media Guidelines](/media-guidelines/youtube) を参照してください。</li>
</ul>

<Note>
  **収益化とコンテンツ管理**

  `madeForKids`、`license`、`embeddable`、`publicStatsViewable` の各フィールドは、Ayrshare API を通じてアップロード時に設定可能です。ただし、直接の収益化トグル（広告の有効/無効）、広告タイプの選択（プレロール、ミッドロール、ポストロール）、収益分配、Content ID は YouTube CMS の認証情報が必要で、これらは MCN やエンタープライズコンテンツオーナーのみが利用可能であり、標準の YouTube OAuth や Ayrshare API では **利用できません**。
</Note>

## YouTube Shorts

YouTube Short は、最大 3 分の縦型ショート動画です。
これは TikTok の動画や Instagram / Facebook の Reels に似ています。

### YouTube Shorts の投稿

`youTubeOptions` オブジェクトに `shorts` パラメーターを追加することで、最大 3 分の YouTube Shorts 動画を投稿できます。

```json YouTube Shorts Post theme={"system"}
{
  "youTubeOptions": {
    "shorts": true
  }
}
```

<i>#shorts</i> ハッシュタグが YouTube の説明に追加されます。

### YouTube Shorts に関する重要な情報

<ul class="custom-bullets">
  <li>
    動画を Short として送信することは、その動画を Short として表示したいという意図を YouTube に伝えるだけであり、Short として表示されることを保証するものではありません。動画は [Short 動画](/media-guidelines/youtube#shorts) の要件（3 分以内、縦向きアスペクト比 9:16 など）を満たす必要があり、YouTube によって Short として認識されます。
  </li>

  <li>YouTube Shorts はサムネイルをサポートしていません。</li>

  <li>
    API を使った [YouTube Shorts の投稿](https://www.ayrshare.com/blog/post-youtube-shorts-with-an-api/) についての追加情報。
  </li>
</ul>

## YouTube サムネイル

<Info>
  カスタムサムネイルには **認証済みの YouTube チャンネル** が必要です。動画は投稿されるがサムネイルが適用されない最も一般的な原因は、認証されていないチャンネルです。[https://www.youtube.com/verify](https://www.youtube.com/verify) で電話番号による認証を行ってください。`thumbNail` は **PNG または JPG/JPEG**、**2MB 以下**、**到達可能な URL** から提供される必要があります。Ayrshare は可能な限り公開前にこれらを検証します。動画は投稿されたがサムネイルが失敗した場合、YouTube の結果は `status: "success"` のまま、`warnings` 配列（`feature: "thumbnail"`、`code: 307`）が失敗を説明します。完全な修正方法については [YouTube Thumbnail Not Applied (Unverified Channel)](/help-center/technical-support/youtube_thumbnail_unverified_channel) を参照してください。
</Info>

### YouTube サムネイルの追加

YouTube サムネイルや、15 分の動画のアップロードなどの他の機能を使用するには、電話番号の認証が必要です。
`thumbNail` は、JPEG または PNG の URL で 2MB 未満のサイズです。ファイル拡張子は png、jpg、jpeg のいずれかで終わる必要があります。

```json YouTube Thumbnail theme={"system"}
{
  "youTubeOptions": {
    "thumbNail": "https://img.ayrshare.com/012/gb.jpg"
  }
}
```

YouTube Shorts は現在サムネイルをサポートしていません。

### YouTube Studio でサムネイルを有効にする

サムネイルを投稿するには、YouTube から権限を付与されている必要があります。[YouTube Studio](https://studio.youtube.com/) で *Settings->Channel* に移動します。「*Feature Eligibility*」を選択し、「*Features that require phone verification*」をクリックします。電話番号を入力して有効化します。

<img class="center" src="https://mintcdn.com/ayrshare-docs/Nmrhj2Gh7WSf62Bh/images/apis/post/yt-thumb.webp?fit=max&auto=format&n=Nmrhj2Gh7WSf62Bh&q=85&s=67855a44b4ab5612d5f89df9db511556" alt="YouTube Studio" width="1200" height="781" data-path="images/apis/post/yt-thumb.webp" />

<Warning>
  YouTube では、電話番号を認証してからサムネイルが有効になるまで最大 24 時間かかる場合があります。YouTube はサムネイル追加の適格性を判断します。「Enabled」となっていても、YouTube がサムネイルのアップロードを許可することは保証されません。

  24 時間認証済みでもまだ問題がある場合、以下を確認してください：

  1. YouTube Studio でサムネイルを手動アップロードできること。
  2. Brand Content Owner アカウント（ビジネスまたは組織のチャンネルによく使用される）で作業している場合、必要な権限があることを確認してください。「Owner」権限を推奨します。
  3. まだ問題が解決しない場合は、[サムネイル問題の解決](https://www.youtube.com/watch?v=1bFmX2uQk0Y) の動画を参照してください。
</Warning>

## 動画: API 経由での YouTube への投稿

<iframe width="380" height="200" src="https://www.youtube.com/embed/UkisNgVxubg" title="Posting to YouTube API" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" />

## アップロード制限

YouTube では、24 時間以内にチャンネルが YouTube API 経由でアップロードできる動画数が制限されています。

<ul class="custom-bullets">
  <li>
    クリエイターの所在地によっては、高度な機能へのアクセスを取得することで、チャンネルの 1 日あたりの制限を引き上げることができる場合があります。詳細は
    [こちら](https://notifications.google.com/g/p/ACnX6LbjUElgT-OfRLVjenkpdldv6pIJ5JYGZyPGTdJwRYmo3fXFkfXJsPGnswgns0BjJ6Bjxn2bqpqfBt6gBdkLoqESKA7mqLNllzcR2qnYUJn5KlJN5jPqCWl6DGr58cZEt94mMvxXATN6_PaBR1RYEpNMTYWN) の記事を参照してください。
  </li>

  <li>
    制限は国／地域やチャンネル履歴によって異なる場合があります。著作権違反警告はチャンネル履歴の適格性に影響し、[コミュニティガイドライン違反警告](https://support.google.com/youtube/answer/2802032) はチャンネルがアップロードできる量に影響します。
  </li>
</ul>

アップロード制限エラーを受け取った場合は、24 時間待ってから再試行してください。

## 説明欄のリンク

YouTube の動画の説明でクリック可能なリンクを持たせるには、YouTube Studio で **Advanced Features** を有効化する必要があります。

**YouTube Studio -> Settings -> Channel -> Feature Eligibility -> Advanced Features -> Access Features** に移動して、Advanced Features を有効化してください。

<img class="center" src="https://mintcdn.com/ayrshare-docs/Nmrhj2Gh7WSf62Bh/images/apis/post/YT-settings.webp?fit=max&auto=format&n=Nmrhj2Gh7WSf62Bh&q=85&s=129f12886c2896167f936dcc7c633234" alt="YouTube Feature Eligibility" width="1000" height="661" data-path="images/apis/post/YT-settings.webp" />

## プレイリスト

`youTubeOptions` オブジェクトに `playListId` を含めることで、動画を YouTube プレイリストに追加できます。
認証済みユーザーとチャンネルがプレイリストの所有者であることを確認してください。

```json YouTube Playlist theme={"system"}
{
  "youTubeOptions": {
    "playListId": "PLrav6EfwgDX5"
  }
}
```

## 動画の字幕／キャプション

[SRT ファイル](https://en.wikipedia.org/wiki/SubRip) または YouTube [SBV ファイル](https://support.google.com/youtube/answer/2734698) を含めることで、YouTube の字幕（YouTube キャプションとも呼ばれます）を動画に追加できます。SRT または SBV ファイルの URL を指定するには、`youTubeOptions` オブジェクトの `subTitleUrl` フィールドを使用します。

```json YouTube Subtitles theme={"system"}
{
  "youTubeOptions": {
    "title": "My new post from Ayrshare to Youtube",
    "subTitleUrl": "https://img.ayrshare.com/012/captions.srt",
    "subTitleLanguage": "en",
    "subTitleName": "English"
  }
}
```

<ul class="custom-bullets">
  <li>
    `subTitleUrl`: 有効な SRT または SBV ファイル。URL は `https://` で始まり、`.srt` または `.sbv` で終わる必要があり、有効な SRT または SBV ファイルである必要があります。ファイルは 100 MB 未満である必要があります。
  </li>

  <li>
    `subTitleLanguage`: 任意: 字幕の言語。有効な [言語コード](/iso-codes/language) である必要があります。デフォルト: "en"。
  </li>

  <li>
    `subTitleName`: 任意: キャプショントラックの名前。この名前は再生中のオプションとしてユーザーに表示されることを意図しています。サポートされる最大名前長は 150 文字です。デフォルト: "English"。
  </li>
</ul>

<Note>
  **SRT および SBV ファイルとは？**

  SRT (SubRip Subtitle) と SBV (YouTube SubViewer) は、動画のタイムテキストを表示するために使用される字幕ファイル形式です。主な違いは、SRT が HH:MM:SS,MS 形式でタイムスタンプに矢印セパレーターを使用するのに対し、SBV は HH:MM:SS.MS 形式でカンマを使用する点です。

  ```text theme={"system"}
  ## SRT Format Example
  1
  00:00:01,000 --> 00:00:04,000
  Welcome to our tutorial on subtitle formats.

  2
  00:00:04,500 --> 00:00:08,000
  Today we'll learn about SRT and SBV files.

  ## SBV Format Example
  0:00:01.000,0:00:04.000
  Welcome to our tutorial on subtitle formats.

  0:00:04.500,0:00:08.000
  Today we'll learn about SRT and SBV files.
  ```
</Note>

## タグ

`youTubeOptions` オブジェクトに `tags` 配列を含めることで、動画に YouTube タグを追加できます。
各タグは少なくとも 2 文字以上である必要があり、すべてのタグの合計長は 500 文字以下でなければなりません。

```json YouTube Tags theme={"system"}
{
  "youTubeOptions": {
    "tags": ["dancing", "dogs"]
  }
}
```

## YouTube メンション

YouTube 投稿に `@handle` を追加することはできますが、YouTube は投稿テキスト内のメンションの解決をサポートしていません。
`@handle` はプレーンテキストのままとなります。

## 文字数制限

詳細については [YouTube Character Limits](/help-center/technical-support/character_limits#youtube-character-limits) を参照してください。

## 追加のエンドポイント

<Card title="YouTube カテゴリを取得" icon="code" href="/apis/utils/youtube-categories" horizontal />

<Card title="YouTube ウォーターマークを設定" icon="code" href="/apis/utils/set-youtube-watermark" horizontal />

<Card title="YouTube ウォーターマークを削除" icon="code" href="/apis/utils/remove-youtube-watermark" horizontal />
