I just shipped Tubecraft, a self hosted assistant for managing YouTube video metadata: thumbnails, descriptions, and an AI chat to talk about your channel or a specific video.
The idea came from the usual YouTube grind. Every video needs a decent thumbnail, a description with the right keywords and timestamps, and some thought about what to say in it. That's a lot of small repetitive tasks around the actual editing work, and it's exactly the kind of thing an AI agent with access to your channel data is good at.
What it does
Tubecraft connects to your YouTube channel through its own Google OAuth app (you set it up once in Google Cloud Console, no review needed for personal use) and then lets you:
- Generate thumbnails from a customizable template
- Draft video descriptions
- Chat with an AI agent about your channel or about one specific video
It talks to whatever AI provider you configure through laravel/ai, which means it works just as well with a local or self hosted LLM (LiteLLM, Ollama, vLLM) as with a hosted API. I wanted this to be genuinely self hostable, not another wrapper that quietly depends on someone else's API key.
Stack
Laravel on the backend, Inertia and Vue on the frontend, with Nuxt UI for the components. Ships as a Docker Compose setup, so getting it running is cp .env.example .env, generate a key, fill in your AI provider, docker compose up -d, and connect your channel.
It's open source, MIT licensed, on GitHub: github.com/mydnic/tubecraft. If you run a YouTube channel and want to keep your metadata workflow (and your AI provider) under your own control, give it a try.