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

> Các tùy chọn để đăng bài bằng YouTube API

<Warning>
  Đăng bài lên YouTube yêu cầu tài khoản YouTube của bạn phải có ít nhất một Channel và là chủ sở hữu của Channel đó.
  Để tạo một YouTube Channel, hãy nhấp vào profile của bạn trong YouTube Dashboard và chọn "Create a Channel".
  Bạn cũng có thể sử dụng liên kết trực tiếp này để tạo YouTube Channel: [http://m.youtube.com/create\_channel](http://m.youtube.com/create_channel)

  Nếu bạn gặp vấn đề khi xem các YouTube channels, vui lòng xem [hướng dẫn khắc phục sự cố YouTube channel](/help-center/technical-support/youtube_channels_not_showing).
</Warning>

<Info>
  Việc tải lên YouTube thất bại có thể trả về mã lỗi **453** (timeout) hoặc **454**
  (service unavailable) với `retryAvailable: true`. Tích hợp của bạn có thể phân nhánh
  dựa trên cờ này để tự động thử lại các lỗi tạm thời với backoff. Xem
  [tham chiếu mã lỗi](/errors/errors-ayrshare) để biết danh sách đầy đủ.
</Info>

Vui lòng xem [YouTube Media Guidelines](/media-guidelines/youtube) và [YouTube Authorization](/dashboard/connect-social-accounts/youtube) để biết thêm thông tin.

## Đăng bài lên YouTube

### Tổng quan về đăng bài

Đăng bài bằng YouTube API yêu cầu đối tượng `youTubeOptions` với ít nhất tham số `title` - tối đa 100 ký tự.
`title` là trường bắt buộc duy nhất và có thể được tạo tự động với [endpoint transcribe](/apis/generate/transcribe-video).

Ví dụ, để đăng một video YouTube với cài đặt mặc định:

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

Video YouTube mặc định là `private`, nhưng visibility có thể được đặt thành `public` hoặc `unlisted`.
Vui lòng xem các trường tùy chọn bên dưới để biết thêm chi tiết.

### Các trường tùy chọn của bài đăng YouTube

Có một số trường tùy chọn khác được liệt kê bên dưới, bao gồm video `visibility`, `tags`, và ngày `publishAt`. Vui lòng xem các bình luận để biết yêu cầu và mô tả.

```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` phải có 100 ký tự trở xuống. `post` phải có 5.000 ký tự trở xuống. `post` và `title` có thể chứa bất kỳ ký tự nào ngoại trừ \< và >.</li>
  <li>Playlist Id có thể được tìm thấy bằng cách mở playlist trong trình duyệt và sao chép giá trị sau `list=`. Người dùng và channel đã xác thực phải là chủ sở hữu của playlist để thêm video.</li>
  <li>Nếu video của bạn không kết thúc bằng phần mở rộng video đã biết như mp4, vui lòng sử dụng tham số `isVideo`. Xem [endpoint /post](/apis/post/post) để biết chi tiết.</li>
  <li>Trường `publishAt` sẽ cho phép YouTube kiểm soát thời gian xuất bản.
  Video sẽ là private cho đến thời gian xuất bản khi nó sẽ được công khai.
  Nếu thời gian xuất bản ở trong quá khứ, video sẽ được công khai ngay lập tức.
  Không sử dụng trường `scheduleDate` của bài đăng khi sử dụng trường `publishAt`.</li>
  <li>Trường `containsSyntheticMedia` được sử dụng để tiết lộ rằng một video chứa nội dung thực tế Altered hoặc Synthetic (A/S): Làm cho một người thật xuất hiện nói hoặc làm điều gì đó mà họ không thực sự nói hoặc làm, thay đổi cảnh quay của một sự kiện hoặc địa điểm thực, tạo ra một cảnh trông thực tế mà thực sự không xảy ra.</li>
  <li>`license` - Đặt loại giấy phép video. Các giá trị được chấp nhận: `"youtube"` (Standard YouTube License, mặc định) hoặc `"creativeCommon"` (Creative Commons - Attribution).</li>
  <li>`embeddable` - Boolean (hoặc các chuỗi `"true"` / `"false"`). Kiểm soát liệu video có thể được nhúng trên các trang web bên thứ ba hay không. Mặc định: `true`.</li>
  <li>`publicStatsViewable` - Boolean (hoặc các chuỗi `"true"` / `"false"`). Kiểm soát liệu **bảng thống kê mở rộng** trên trang xem của video có thể xem công khai hay không. Số lượt xem cơ bản và số lượt thích vẫn hiển thị công khai bất kể cài đặt này. Mặc định: `true`. Xem [`status.publicStatsViewable` trong tham chiếu YouTube Data API](https://developers.google.com/youtube/v3/docs/videos#status.publicStatsViewable) để biết chi tiết.</li>
  <li>Xem [YouTube Media Guidelines](/media-guidelines/youtube) để biết thêm thông tin.</li>
</ul>

<Note>
  **Kiếm tiền & Kiểm soát nội dung**

  Các trường `madeForKids`, `license`, `embeddable`, và `publicStatsViewable` có thể được đặt qua Ayrshare API tại thời điểm tải lên. Tuy nhiên, các nút bật/tắt kiếm tiền trực tiếp (bật/tắt quảng cáo), lựa chọn loại quảng cáo (pre-roll, mid-roll, post-roll), chia sẻ doanh thu, và Content ID yêu cầu thông tin xác thực YouTube CMS — chỉ khả dụng cho MCN và chủ sở hữu nội dung doanh nghiệp — và **không** khả dụng qua YouTube OAuth tiêu chuẩn hoặc Ayrshare API.
</Note>

## YouTube Shorts

YouTube Short là một video dọc dạng ngắn có thể dài tới ba phút.
Những video này tương tự như video TikTok và Instagram hoặc Facebook Reels.

### Đăng YouTube Shorts

Bạn có thể đăng một video YouTube Shorts dài tới 3 phút bằng cách thêm tham số `shorts` vào đối tượng `youTubeOptions`.

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

Hashtag <i>#shorts</i> sẽ được thêm vào mô tả YouTube.

### Thông tin quan trọng về YouTube Shorts

<ul class="custom-bullets">
  <li>
    Gửi một video dưới dạng Short là dấu hiệu cho YouTube biết bạn muốn video xuất hiện
    dưới dạng Short, nhưng không đảm bảo nó sẽ xuất hiện dưới dạng Short. Video phải đáp ứng các yêu cầu [Short
    video](/media-guidelines/youtube#shorts), chẳng hạn như dài 3 phút trở xuống và
    tỷ lệ khung hình dọc 9:16 để được YouTube coi là Short.
  </li>

  <li>YouTube Shorts không hỗ trợ thumbnails.</li>

  <li>
    Thông tin bổ sung về việc sử dụng [API để đăng YouTube
    Shorts](https://www.ayrshare.com/blog/post-youtube-shorts-with-an-api/).
  </li>
</ul>

## Thumbnails YouTube

<Info>
  Thumbnails tùy chỉnh yêu cầu **YouTube channel đã được xác minh**. Lý do phổ biến nhất khiến thumbnail không áp dụng được (trong khi video vẫn được đăng) là channel chưa được xác minh — hãy xác minh tại [https://www.youtube.com/verify](https://www.youtube.com/verify) (xác minh qua điện thoại). `thumbNail` của bạn cũng phải là **PNG hoặc JPG/JPEG**, **2MB trở xuống**, và được phục vụ từ một **URL có thể truy cập**; Ayrshare xác thực những điều này trước khi xuất bản nếu có thể. Khi một video được đăng nhưng thumbnail thất bại, kết quả YouTube giữ `status: "success"` và thêm một mảng `warnings` (`feature: "thumbnail"`, `code: 307`) mô tả sự thất bại. Xem [YouTube Thumbnail Not Applied (Unverified Channel)](/help-center/technical-support/youtube_thumbnail_unverified_channel) để có bản sửa lỗi đầy đủ.
</Info>

### Thêm YouTube Thumbnails

Thumbnails YouTube và các tính năng khác, chẳng hạn như tải video 15 phút, yêu cầu xác minh số điện thoại của bạn.
Một `thumbNail` là URL của JPEG hoặc PNG có kích thước dưới 2MB. Phần mở rộng file phải kết thúc bằng png, jpg, hoặc jpeg.

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

YouTube Shorts hiện không hỗ trợ thumbnails.

### Bật Thumbnails trong YouTube Studio

Bạn phải được cấp quyền YouTube để đăng thumbnails. Trong [YouTube Studio](https://studio.youtube.com/) đi tới *Settings->Channel*. Chọn "*Feature Eligibility*" và nhấp vào "*Features that require phone verification*". Nhập số điện thoại của bạn để bật.

<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 có thể mất tối đa 24 giờ để bật thumbnails sau khi bạn xác minh số điện thoại. Xin lưu ý, YouTube xác định tính đủ điều kiện để thêm thumbnails. Xác minh qua điện thoại "Enabled" không đảm bảo YouTube sẽ cho phép tải lên thumbnail.

  Nếu bạn đã được xác minh trong 24 giờ và vẫn gặp vấn đề, hãy kiểm tra rằng:

  1. Bạn có thể tải lên thumbnails thủ công trong YouTube Studio.
  2. Nếu bạn đang làm việc với Brand Content Owner Account (thường được sử dụng cho các channel doanh nghiệp hoặc tổ chức), hãy đảm bảo bạn có quyền cần thiết. Chúng tôi khuyến nghị quyền "Owner".
  3. Nếu bạn vẫn gặp vấn đề, vui lòng xem video này về [giải quyết vấn đề Thumbnail](https://www.youtube.com/watch?v=1bFmX2uQk0Y).
</Warning>

## Video: Đăng bài lên YouTube qua API

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

## Giới hạn tải lên

YouTube giới hạn số lượng video mà một channel có thể tải lên trong khoảng thời gian 24 giờ qua YouTube API.

<ul class="custom-bullets">
  <li>
    Tùy thuộc vào vị trí của một creator, một channel có thể tăng giới hạn hàng ngày của họ bằng cách
    có được quyền truy cập vào các tính năng nâng cao. Để tìm hiểu thêm, hãy truy cập
    [bài viết](https://notifications.google.com/g/p/ACnX6LbjUElgT-OfRLVjenkpdldv6pIJ5JYGZyPGTdJwRYmo3fXFkfXJsPGnswgns0BjJ6Bjxn2bqpqfBt6gBdkLoqESKA7mqLNllzcR2qnYUJn5KlJN5jPqCWl6DGr58cZEt94mMvxXATN6_PaBR1RYEpNMTYWN) này.
  </li>

  <li>
    Giới hạn có thể khác nhau tùy theo quốc gia/khu vực hoặc lịch sử channel. Các vi phạm bản quyền có thể ảnh hưởng đến
    tính đủ điều kiện lịch sử channel và [Vi phạm Nguyên tắc Cộng
    đồng](https://support.google.com/youtube/answer/2802032) sẽ ảnh hưởng đến số lượng channel có thể
    tải lên.
  </li>
</ul>

Nếu bạn nhận được lỗi giới hạn tải lên, vui lòng đợi và thử lại sau 24 giờ.

## Liên kết mô tả

Bạn phải kích hoạt **Advanced Features** trong YouTube Studio để có các liên kết có thể nhấp trong mô tả video YouTube.

Đi tới **YouTube Studio -> Settings -> Channel -> Feature Eligibility -> Advanced Features -> Access Features** để kích hoạt các tính năng nâng cao.

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

## Playlists

Bạn có thể thêm video vào playlist YouTube bằng cách bao gồm `playListId` trong đối tượng `youTubeOptions`.
Hãy chắc chắn rằng người dùng và channel đã xác thực là chủ sở hữu của playlist.

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

## Phụ đề / Caption cho video

Bạn có thể thêm phụ đề YouTube, còn được gọi là caption YouTube, cho các video bằng cách bao gồm một [file SRT](https://en.wikipedia.org/wiki/SubRip) hoặc một [file SBV](https://support.google.com/youtube/answer/2734698) YouTube. Sử dụng trường `subTitleUrl` trong đối tượng `youTubeOptions` để chỉ định URL đến file SRT hoặc SBV của bạn.

```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`: Một file SRT hoặc SBV hợp lệ. URL phải bắt đầu bằng `https://` và kết thúc bằng `.srt` hoặc
    `.sbv` và là một file SRT hoặc SBV hợp lệ. File phải dưới 100 MB.
  </li>

  <li>
    `subTitleLanguage`: Tùy chọn: Ngôn ngữ của phụ đề. Phải là một [mã ngôn ngữ](/iso-codes/language)
    hợp lệ. Mặc định: "en".
  </li>

  <li>
    `subTitleName`: Tùy chọn: Tên của track caption. Tên nhằm hiển thị cho
    người dùng dưới dạng tùy chọn trong quá trình phát lại. Độ dài tên tối đa được hỗ trợ là 150 ký tự.
    Mặc định: "English".
  </li>
</ul>

<Note>
  **File SRT và SBV là gì?**

  SRT (SubRip Subtitle) và SBV (YouTube SubViewer) là các định dạng file phụ đề được sử dụng để hiển thị
  văn bản có thời gian trong video. Sự khác biệt chính là SRT sử dụng dấu thời gian ở định dạng HH:MM:SS,MS với
  dấu phân cách mũi tên, trong khi SBV sử dụng định dạng HH:MM:SS.MS với dấu phẩy.

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

## Tags

Bạn có thể thêm tags YouTube vào video của bạn bằng cách bao gồm mảng `tags` trong đối tượng `youTubeOptions`.
Tags phải có độ dài ít nhất 2 ký tự mỗi tag và tổng độ dài của tất cả các tags phải là 500 ký tự trở xuống.

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

## Nhắc tên (Mention) trên YouTube

Trong khi bạn có thể thêm `@handle` vào một bài đăng YouTube, YouTube không hỗ trợ giải quyết các nhắc tên trong nội dung bài đăng.
`@handle` sẽ vẫn là văn bản thuần túy.

## Giới hạn ký tự

Vui lòng xem [Giới hạn ký tự YouTube](/help-center/technical-support/character_limits#youtube-character-limits) để biết thêm thông tin.

## Endpoint bổ sung

<Card title="Get YouTube Categories" icon="code" href="/apis/utils/youtube-categories" horizontal />

<Card title="Set YouTube Watermark" icon="code" href="/apis/utils/set-youtube-watermark" horizontal />

<Card title="Remove YouTube Watermark" icon="code" href="/apis/utils/remove-youtube-watermark" horizontal />
