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

> Opciones para publicar usando la API de YouTube

<Warning>
  La publicación en YouTube requiere que tu cuenta de YouTube tenga al menos un Channel y que seas propietario del Channel.
  Para crear un Channel de YouTube, haz clic en tu perfil en el Dashboard de YouTube y elige "Create a Channel".
  También puedes usar este enlace directo para crear un Channel de YouTube: [http://m.youtube.com/create\_channel](http://m.youtube.com/create_channel)

  Si tienes problemas para ver los canales de YouTube, consulta la [guía de solución de problemas de canales de YouTube](/help-center/technical-support/youtube_channels_not_showing).
</Warning>

<Info>
  Los fallos de subida a YouTube pueden devolver los códigos de error **453** (timeout) o **454**
  (service unavailable) con `retryAvailable: true`. Tu integración puede tomar decisiones
  según este flag para reintentar automáticamente los fallos transitorios con backoff. Consulta la
  [referencia de códigos de error](/errors/errors-ayrshare) para ver la lista completa.
</Info>

Consulta las [Directrices de medios de YouTube](/media-guidelines/youtube) y la [Autorización de YouTube](/dashboard/connect-social-accounts/youtube) para más información.

## Publicar en YouTube

### Descripción general de la publicación

Publicar usando la API de YouTube requiere el objeto `youTubeOptions` con al menos el parámetro `title` — máximo 100 caracteres.
El `title` es el único campo obligatorio y puede generarse automáticamente con el [endpoint transcribe](/apis/generate/transcribe-video).

Por ejemplo, para publicar un video de YouTube con la configuración por defecto:

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

Los videos de YouTube son `private` por defecto, pero la visibilidad se puede establecer como `public` o `unlisted`.
Consulta los campos opcionales a continuación para más detalles.

### Campos opcionales de la publicación en YouTube

Hay varios campos opcionales más listados a continuación, incluyendo la `visibility` del video, los `tags` y la fecha de `publishAt`. Consulta los comentarios para conocer los requisitos y las descripciones.

```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>El `title` debe tener 100 caracteres o menos. El `post` debe tener 5000 caracteres o menos. `post` y `title` pueden contener cualquier carácter excepto \< y >.</li>
  <li>El Playlist Id se puede encontrar abriendo la playlist en un navegador y copiando el valor después de `list=`. El usuario autenticado y el canal deben ser propietarios de la playlist para poder agregar videos.</li>
  <li>Si tu video no termina con una extensión de video conocida como mp4, usa el parámetro `isVideo`. Consulta el [endpoint /post](/apis/post/post) para más detalles.</li>
  <li>El campo `publishAt` permite que YouTube controle el momento de la publicación.
  El video estará en modo privado hasta la hora de publicación, momento en el que se hará público.
  Si la hora de publicación es en el pasado, el video se hará público de inmediato.
  No uses el campo `scheduleDate` de la publicación cuando uses el campo `publishAt`.</li>
  <li>El campo `containsSyntheticMedia` se usa para declarar que un video contiene contenido realista Altered o Synthetic (A/S): hacer que una persona real parezca decir o hacer algo que en realidad no dijo o hizo, alterar imágenes de un evento o lugar real, o generar una escena de apariencia realista que en realidad no ocurrió.</li>
  <li>`license` — establece el tipo de licencia del video. Valores aceptados: `"youtube"` (Standard YouTube License, por defecto) o `"creativeCommon"` (Creative Commons - Attribution).</li>
  <li>`embeddable` — Boolean (o las cadenas `"true"` / `"false"`). Controla si el video se puede embeber en sitios web de terceros. Por defecto: `true`.</li>
  <li>`publicStatsViewable` — Boolean (o las cadenas `"true"` / `"false"`). Controla si el **panel de estadísticas extendidas** en la página de reproducción del video es visible públicamente. El conteo básico de vistas y de likes sigue siendo visible públicamente independientemente de esta configuración. Por defecto: `true`. Consulta [`status.publicStatsViewable` en la referencia de YouTube Data API](https://developers.google.com/youtube/v3/docs/videos#status.publicStatsViewable) para más detalles.</li>
  <li>Consulta las [Directrices de medios de YouTube](/media-guidelines/youtube) para más información.</li>
</ul>

<Note>
  **Controles de monetización y contenido**

  Los campos `madeForKids`, `license`, `embeddable` y `publicStatsViewable` se pueden establecer mediante la API de Ayrshare en el momento de la subida. Sin embargo, los toggles directos de monetización (activar/desactivar anuncios), la selección del tipo de anuncio (pre-roll, mid-roll, post-roll), el reparto de ingresos y Content ID requieren credenciales de YouTube CMS — disponibles solo para MCNs y content owners empresariales — y **no** están disponibles a través del OAuth estándar de YouTube o de la API de Ayrshare.
</Note>

## YouTube Shorts

Un YouTube Short es un video vertical de formato corto que puede durar hasta tres minutos.
Son similares a los videos de TikTok y a los Reels de Instagram o Facebook.

### Publicar YouTube Shorts

Puedes publicar un video de YouTube Shorts de hasta 3 minutos agregando el parámetro `shorts` al objeto `youTubeOptions`.

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

Se añadirá el hashtag <i>#shorts</i> a la descripción de YouTube.

### Información importante sobre YouTube Shorts

<ul class="custom-bullets">
  <li>
    Enviar un video como Short es una indicación a YouTube de que te gustaría que el video apareciera
    como Short, pero no garantiza que aparezca como Short. El video debe cumplir con los requisitos de
    [video Short](/media-guidelines/youtube#shorts), como tener una duración de 3 minutos o menos y
    una relación de aspecto vertical 9:16 para que YouTube lo considere un Short.
  </li>

  <li>Los YouTube Shorts no admiten miniaturas.</li>

  <li>
    Más información sobre cómo usar la [API para publicar YouTube
    Shorts](https://www.ayrshare.com/blog/post-youtube-shorts-with-an-api/).
  </li>
</ul>

## Miniaturas de YouTube

<Info>
  Las miniaturas personalizadas requieren un **canal de YouTube verificado**. La razón más común por la que una miniatura no se aplica (aunque el video sí se publique) es un canal no verificado — verifícalo en [https://www.youtube.com/verify](https://www.youtube.com/verify) (verificación por teléfono). Tu `thumbNail` también debe ser **PNG o JPG/JPEG**, **de 2 MB o menos** y servida desde una **URL alcanzable**; Ayrshare valida esto antes de publicar cuando es posible. Cuando un video se publica pero la miniatura falla, el resultado de YouTube mantiene `status: "success"` y añade un arreglo `warnings` (`feature: "thumbnail"`, `code: 307`) describiendo el fallo. Consulta [Miniatura de YouTube no aplicada (canal no verificado)](/help-center/technical-support/youtube_thumbnail_unverified_channel) para la solución completa.
</Info>

### Agregar miniaturas de YouTube

Las miniaturas de YouTube y otras funciones, como subir videos de 15 minutos, requieren la verificación de tu número de teléfono.
Un `thumbNail` es una URL de un JPEG o PNG y de menos de 2 MB de tamaño. La extensión del archivo debe terminar en png, jpg o jpeg.

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

Los YouTube Shorts no admiten actualmente miniaturas.

### Habilitar miniaturas en YouTube Studio

Debes tener permisos de YouTube para publicar miniaturas. En [YouTube Studio](https://studio.youtube.com/) ve a *Settings->Channel*. Selecciona "*Feature Eligibility*" y haz clic en "*Features that require phone verification*". Ingresa tu número de teléfono para habilitarlas.

<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 puede tardar hasta 24 horas en habilitar las miniaturas después de verificar tu número de teléfono. Ten en cuenta que YouTube determina la elegibilidad para agregar miniaturas. La verificación de teléfono "habilitada" no garantiza que YouTube permita subir miniaturas.

  Si ya llevas verificado 24 horas y sigues teniendo problemas, comprueba que:

  1. Puedes subir miniaturas manualmente en YouTube Studio.
  2. Si estás trabajando con una Brand Content Owner Account (usada a menudo para canales de empresas u organizaciones), asegúrate de tener los permisos necesarios. Recomendamos derechos de "Owner".
  3. Si sigues teniendo problemas, consulta este video sobre [cómo resolver el problema de las miniaturas](https://www.youtube.com/watch?v=1bFmX2uQk0Y).
</Warning>

## Video: publicar en YouTube mediante la 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" />

## Límites de subida

YouTube limita cuántos videos puede subir un canal en un período de 24 horas a través de la API de YouTube.

<ul class="custom-bullets">
  <li>
    Dependiendo de la ubicación del creador, un canal podría aumentar su límite diario
    obteniendo acceso a funciones avanzadas. Para más información visita este
    [artículo](https://notifications.google.com/g/p/ACnX6LbjUElgT-OfRLVjenkpdldv6pIJ5JYGZyPGTdJwRYmo3fXFkfXJsPGnswgns0BjJ6Bjxn2bqpqfBt6gBdkLoqESKA7mqLNllzcR2qnYUJn5KlJN5jPqCWl6DGr58cZEt94mMvxXATN6_PaBR1RYEpNMTYWN).
  </li>

  <li>
    Los límites pueden variar según país/región o historial del canal. Las advertencias por copyright pueden afectar
    la elegibilidad del historial del canal y las [strikes de Community Guidelines](https://support.google.com/youtube/answer/2802032) afectarán cuánto
    puede subir un canal.
  </li>
</ul>

Si recibes un error de límite de subida, espera y vuelve a intentarlo en 24 horas.

## Enlaces en la descripción

Debes activar **Advanced Features** en YouTube Studio para tener enlaces clicables en la descripción del video de YouTube.

Ve a **YouTube Studio -> Settings -> Channel -> Feature Eligibility -> Advanced Features -> Access Features** para activar las funciones avanzadas.

<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

Puedes agregar videos a una playlist de YouTube incluyendo el `playListId` en el objeto `youTubeOptions`.
Asegúrate de que el usuario autenticado y el canal sean los propietarios de la playlist.

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

## Subtítulos/captions para videos

Puedes añadir subtítulos de YouTube, también conocidos como captions de YouTube, a los videos incluyendo un [archivo SRT](https://en.wikipedia.org/wiki/SubRip) o un [archivo SBV](https://support.google.com/youtube/answer/2734698) de YouTube. Usa el campo `subTitleUrl` dentro del objeto `youTubeOptions` para especificar la URL de tu archivo SRT o SBV.

```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`: archivo SRT o SBV válido. La URL debe comenzar con `https://` y terminar en `.srt` o
    `.sbv` y ser un archivo SRT o SBV válido. El archivo debe pesar menos de 100 MB.
  </li>

  <li>
    `subTitleLanguage`: opcional: idioma de los subtítulos. Debe ser un [código de idioma](/iso-codes/language) válido. Por defecto: "en".
  </li>

  <li>
    `subTitleName`: opcional: nombre de la pista de subtítulos. El nombre está pensado para ser visible
    para el usuario como opción durante la reproducción. La longitud máxima admitida es de 150 caracteres.
    Por defecto: "English".
  </li>
</ul>

<Note>
  **¿Qué son los archivos SRT y SBV?**

  SRT (SubRip Subtitle) y SBV (YouTube SubViewer) son formatos de archivo de subtítulos utilizados para mostrar
  texto sincronizado en videos. La principal diferencia es que SRT usa marcas de tiempo con formato HH:MM:SS,MS con
  separadores de flecha, mientras que SBV usa el formato HH:MM:SS.MS con comas.

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

Puedes añadir tags de YouTube a tus videos incluyendo el arreglo `tags` en el objeto `youTubeOptions`.
Cada tag debe tener al menos 2 caracteres de longitud y la longitud total de todos los tags debe ser de 500 caracteres o menos.

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

## Menciones en YouTube

Aunque puedes añadir un `@handle` a una publicación de YouTube, YouTube no admite la resolución de menciones en el texto de la publicación.
El `@handle` permanecerá como texto plano.

## Límites de caracteres

Consulta [Límites de caracteres de YouTube](/help-center/technical-support/character_limits#youtube-character-limits) para más información.

## Endpoints adicionales

<Card title="Obtener categorías de YouTube" icon="code" href="/apis/utils/youtube-categories" horizontal />

<Card title="Establecer marca de agua de YouTube" icon="code" href="/apis/utils/set-youtube-watermark" horizontal />

<Card title="Eliminar marca de agua de YouTube" icon="code" href="/apis/utils/remove-youtube-watermark" horizontal />
