Haz que tu IA suba tus videos a YouTube
Es un archivo chico que le da a tu IA la llave para subir y programar videos en tu canal, con la API oficial de Google. Le dictas «sube este video para el martes a las 7 pm» y lo deja programado — siempre que hayas configurado los permisos, y siempre que lo hayas probado antes con un video que no te importe.
La API de YouTube no cobra. Pero ése no es el costo completo del recorrido: también necesitas una herramienta de IA con terminal, capaz de escribir y ejecutar archivos en tu computadora (Claude Code, Codex o similar), y ésa puede tener su propio costo de suscripción. Cuéntalo antes de empezar.
Guía completa en esta página · Versión 1.1 · Probada de principio a fin en un canal real el 21 de agosto de 2026 · Requisitos de Google reverificados contra su documentación el 14 de septiembre de 2026.
Antes de empezar
- Necesitas una cuenta de Google que administre tu canal, y una IA con acceso a terminal (Claude Code, Codex o similar) que pueda escribir y ejecutar archivos en tu computadora.
- No reutilices credenciales de otro proyecto o cliente. Si ya tienes un sistema parecido para otro canal, este necesita su propio proyecto de Google Cloud y su propia carpeta de credenciales — nunca compartida.
- Guarda las credenciales en una carpeta que no sincronice a la nube (ni OneDrive, ni iCloud, ni Google Drive). Es la llave de tu canal.
- Si tu IA tiene acceso a tu terminal, revisa cada comando antes de que lo ejecute — sobre todo el primero.
- Nunca pegues el contenido del archivo de credenciales ni del token dentro del chat con tu IA. Guárdalos en una carpeta y pásale solo la ruta. Un archivo pegado en una conversación sale de tu equipo.
- Si usas control de versiones, agrégalos al
.gitignoreantes de crearlos, no después. Un token subido a un repositorio —aunque sea privado— queda en el historial para siempre. - Si alguna vez se exponen, revócalos de inmediato en
myaccount.google.com/permissionsy genera unos nuevos. Es gratis y toma dos minutos.
Dos permisos distintos que casi todo el mundo confunde
Léelo antes de configurar nada, porque es donde se pierde el tiempo. Google te va a poner dos trámites que suenan parecido y no lo son. Uno decide si puedes usar tu propia app. El otro decide si los videos que subas pueden hacerse públicos. Resolver el primero no resuelve el segundo.
Asunto 1 · La verificación de la app OAuth — aquí sí hay excepción para ti.
Al publicar tu app, Google avisa que «requiere verificación». Su documentación reconoce una excepción de uso personal, textual: «If the app is for your personal use (fewer than 100 users), you and your limited number of users can continue using the app without going through verification».
Traducido: si el único usuario eres tú, puedes usar la app sin pasar por esa revisión. Lo que sí vas a ver es la pantalla de «Google no verificó esta app» al autorizar, y un tope de 100 usuarios — que a ti no te va a estorbar.
Asunto 2 · La restricción de publicación de la API de YouTube — ésta NO tiene esa excepción.
Es un requisito aparte, de la documentación de la API, y dice textual: «All videos uploaded via the videos.insert endpoint from unverified API projects created after 28 July 2020 will be restricted to private viewing mode». Levantar esa restricción requiere una auditoría de cumplimiento del proyecto.
Traducido: que seas el único usuario te salva del asunto 1, pero no te exenta de éste. Según lo escrito, en un proyecto no verificado creado después de esa fecha, los videos que suba tu script pueden quedarse en privado aunque tú les hayas pedido que salgan públicos.
Por eso la prueba de más abajo no es opcional: es la única forma de saber qué hace tu cuenta en la práctica, antes de que dependas de ello.
Los cinco pasos
1. Crear un proyecto de Google Cloud
Entra a console.cloud.google.com. Clic en el selector de proyecto, arriba a la izquierda, y luego en «Proyecto nuevo». Dale un nombre que identifique claramente el canal y créalo.
2. Habilitar la YouTube Data API v3
Con el proyecto nuevo seleccionado, busca «YouTube Data API v3» en la barra superior, entra al resultado y dale a Habilitar.
3. Configurar la pantalla de consentimiento
En el menú lateral busca «Público» — o «Google Auth Platform», o «Pantalla de consentimiento».
- Tipo de usuario: Externo. A menos que administres el canal desde una cuenta de Google Workspace propia; ahí puedes usar Interno y te ahorras el paso de producción.
- Llena el nombre de la app y tu correo de contacto.
- En «Acceso a los datos», agrega el permiso
.../auth/youtube.upload. Es el único que necesitas. - Dale a «Publicar app». Va a salir el aviso de que «requiere verificación»: por el asunto 1, puedes seguir adelante si el único usuario eres tú — vas a ver la pantalla de app no verificada al autorizar, y ya. Lo que eso no arregla es el asunto 2, la restricción de publicación de la API; para eso está la prueba.
El paso que casi nadie prevé. Para pasar la app a «En producción» —lo que hace que no tengas que volver a autorizar cada 7 días— Google te va a pedir una URL de página principal y una de política de privacidad, ambas en vivo.
Si no tienes sitio propio, una página simple y estática alcanza. Tiene que explicar qué datos toca tu herramienta y a dónde van, y esa distinción importa que la escribas bien:
- Las credenciales y el token —el archivo de acceso— sí se quedan guardados únicamente en tu equipo.
- El video y sus datos de publicación —título, descripción, fecha programada— sí se envían a Google y a YouTube. Es el punto de la herramienta. No lo redactes como si todo se quedara en tu computadora.
- Cómo revocar el acceso, desde
myaccount.google.com/permissions.
Y si no quieres gastar nada, no tienes que hacerlo. Hay dos formas de quedarte en cero: dejar la app en modo de prueba y volver a autorizar cada 7 días —son dos clics—, o usar Interno si administras el canal desde una cuenta de Google Workspace propia, que se salta este paso por completo. El dominio solo conviene si vas a publicar seguido y no quieres reautorizar.
4. Crear las credenciales
Menú lateral → «Clientes» → «+ Crear cliente» → tipo «Aplicación de escritorio» → dale un nombre y créalo. Te va a ofrecer descargar un archivo JSON.
Antes de tocarlo: muévelo de inmediato a una carpeta dedicada fuera de la nube y renómbralo a client_secret.json.
Si tu Escritorio sincroniza a OneDrive o iCloud sin que lo sepas —pasa más seguido de lo que crees; en Windows, OneDrive puede redirigir la carpeta Escritorio sin avisar— el archivo se sube a la nube apenas se descarga.
5. Pídele a tu IA que te construya el script
Copia esto tal cual y pégaselo a tu IA, dentro de la carpeta de tu proyecto:
Necesito un script en Python que suba videos a mi canal de YouTube usando la
YouTube Data API v3 (googleapiclient), con OAuth de escritorio (InstalledAppFlow).
Antes de escribir nada, pregúntame:
1. En qué carpeta exacta viven mi client_secret.json y mi token.json (fuera de
cualquier carpeta que sincronice a la nube).
2. Si mi canal tiene un horario fijo de publicación por día de la semana, o si
prefiero pasar la hora cada vez.
3. Qué categoría de YouTube le corresponde a mi contenido.
4. En qué zona horaria vivo, para que la hora que yo pida sea la hora en que de
verdad se publique.
El script debe:
- Aceptar: la ruta del video, --titulo (máximo 100 caracteres), --descripcion
(ruta a un .txt), y una forma de elegir cuándo sale.
- Programar como privado + publishAt (YouTube lo hace público solo a esa hora,
así puedo corregir o borrar antes sin que nadie lo vea) — NUNCA público
directo por default.
- Convertir la hora que yo pida a UTC antes de mandarla, porque YouTube exige
publishAt en UTC. Si no se convierte, el video se publica a una hora distinta
de la que pedí y no avisa: simplemente sale antes o después.
- Tener un modo --privado explícito para pruebas: sube en privado, SIN fecha,
para que nunca se haga público solo mientras estoy probando el sistema.
- Después de subir, leer de vuelta el estado real del video en YouTube y
decírmelo, en vez de dar por hecho que quedó como lo pedí.
- Manejar el refresco de token automático, y avisarme claramente cuándo hace
falta volver a autorizar en el navegador (primera vez, o si el token expiró).
- Usar la librería truststore antes de cualquier llamada de red, por si mi
antivirus intercepta el HTTPS local (es una causa de error común y no
siempre obvia).
No inventes ni asumas mi horario de publicación, mi categoría de contenido, ni
la ruta de mis credenciales: pregúntamelo primero.Pruébalo antes de confiar en él
Son dos pruebas, y las dos van con material que no te importa. Ni la primera ni la segunda se hacen con un video de cliente, con contenido real ni con una fecha que te importe. Consigue o graba dos clips de unos segundos, sin información sensible, y úsalos para esto.
Prueba 1 · Que suba, y que suba donde debe
Sube el primer clip de prueba con el modo --privado. En YouTube Studio revisa, en este orden:
- El video quedó en el canal correcto. Es lo primero que hay que revisar, siempre — si tienes más de un canal en la misma cuenta, aquí es donde te enteras.
- Quedó en privado, no público ni programado.
- El título y la descripción se guardaron completos y correctos, con acentos y sin cortes.
Si algo de esto falla, arréglalo antes de seguir. No pases a la programación con un script que todavía no sabes a qué canal escribe.
Prueba 2 · Que la programación funcione de verdad
Solo si vas a programar. Y con otro clip de prueba, no con el primero ni con algo real. Prográmalo a una fecha cercana pero futura —dentro de un par de horas sirve— y después:
- Confirma que la hora programada que muestra Studio es la que tú pediste, en tu zona horaria. Aquí es donde aparecen los errores de conversión a UTC.
- Cuando llegue la hora, vuelve a revisar y comprueba que de verdad se hizo público. Ésta es la única forma de saber si la restricción de proyectos no verificados —el asunto 2— te afecta o no.
Hasta que las dos pruebas pasen, no le entregues una publicación que te importe. Y cuando termines, borra los clips de prueba.
Si algo truena
No repitas el mismo comando en bucle esperando que cambie. Toma una captura del error completo —oculta cualquier dato sensible antes— y pégale esto a tu IA:
Diagnostica este error antes de continuar. Dime la causa más probable y la
corrección mínima y segura. No desactives verificación TLS, no me pidas
desactivar mi antivirus, y no reutilices credenciales de otro proyecto como
atajo. Explícame el comando exacto antes de correrlo.Mi experiencia con esto, que es un solo caso
- La restricción del asunto 2 no se activó en mi caso. El proyecto se creó en agosto de 2026, nunca se envió a verificación, y un video programado pasó de privado a público solo, a la hora exacta, sin que yo tocara nada. Fue con un video real, no de prueba. No sé si en tu cuenta será igual, y por eso la guía insiste en que hagas tu propia prueba en vez de confiar en mi resultado.
- El Escritorio de Windows puede estar redirigido a OneDrive sin que te des cuenta. Revisa dónde cae de verdad cualquier archivo descargado antes de darlo por seguro.
- La pantalla de «Google no verificó esta app» es normal y esperada cuando eres tú el único usuario. No significa que algo esté mal.
- El requisito de política de privacidad para el permiso de subida no está anunciado en ningún lado hasta que Google te bloquea con él. Mejor tenerlo listo antes de llegar a ese paso.
- Si eliges la ruta del dominio, tiene que ser uno que tú controles. No basta con un subdominio gratis compartido: Google los rechaza por estar en la lista pública de sufijos. Un dominio propio cuesta desde unos 11 a 15 dólares al año — pero es opcional: con el modo de prueba te quedas en cero.
- Esto no es «configúralo una vez y olvídalo». Google borra los clientes OAuth que llevan 6 meses sin usarse, y el token de refresco también expira en ese periodo. Con cualquier canal que publique más seguido que eso nunca se nota, pero es honesto decirlo con su condición.
Si te atoras
¿Encontraste un error en esta guía? Si algo de aquí ya no coincide con lo que Google te muestra, o de plano está mal, dímelo por Instagram a @estebanmendoz4. Lo corrijo y le sirve al que venga.
¿Es un problema de tu configuración? Si ya seguiste los pasos y hay algo de tu cuenta, tu proyecto o tu script que no logras destrabar, eso se revisa contigo y con tu pantalla enfrente: podemos trabajarlo en La asesoría.
Nunca te voy a pedir contraseñas ni tokens, no te voy a enviar instaladores ni a pedirte control remoto de tu computadora.