explainroo
explainroo는 AI 에이전트가 음성으로 설명 영상을 만들 수 있는 무료 오픈소스 도구이며, 로컬에서 API 키 없이 실행됩니다
메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Generate and publish motivational Instagram reels via:
ffmpeg and ffprobe on PATH (ffmpeg built with libass for subtitle burn-in)npm ci
cp .env.example .env
Populate .env with the generation/publishing secrets and release settings you need for your run.
# Type-check the TypeScript scripts
npm run typecheck
# Lint the project
npm run lint
# Run unit tests
npm test
# Format files
npm run format
# Generate reel assets (writes REEL_VIDEO_URL to GITHUB_ENV when present)
npm run generate
# Publish to Instagram using generated REEL_VIDEO_URL
npm run publish
generate-reel.ts requests TTS through the ElevenLabs with-timestamps endpoint, so subtitle
cues are built from real word-level timings instead of estimated speed math. If the endpoint
fails, the engine falls back to the plain TTS endpoint and estimated cue timing — a timestamps
outage never blocks a run.
When the reel spec includes a subtitle_config, the engine:
.srt sidecar and uploads it next to the video asset.ass file (font, colors, highlight_words, peak_words from
subtitle_config) and burns it into the final video with ffmpeg, positioned inside the
bottom-20% safety zone — Instagram ignores sidecar files, so burned-in captions are what
muted viewers actually seeSet "burn_in": false inside subtitle_config to keep sidecar-only behavior. Place brand
font files (e.g. Cormorant Garamond .ttf/.otf) in assets/fonts/ so libass can resolve
the configured font during burn-in; otherwise it falls back to a system font.
generate-reel.ts)ELEVENLABS_API_KEYRUNWAY_API_KEYGITHUB_TOKENGITHUB_REPOSITORY (or REEL_RELEASE_REPO)REEL_SCRIPT, REEL_PROMPT (or JSON via ENGINE_CONFIG_PATH, REEL_SPEC_PATH)publish-reel.ts)INSTAGRAM_PAGE_TOKENIG_BUSINESS_ACCOUNT_IDMETA_APP_IDMETA_APP_SECRETFB_PAGE_IDREEL_VIDEO_URLREEL_RELEASE_TAGREEL_RELEASE_NAMEREEL_CAPTIONREEL_MUSIC_PATHREEL_THUMB_OFFSET_MSREEL_SHARE_TO_FEEDREEL_RUNWAY_CONCURRENCY (1-4)Use .env.example as the reference for the supported generation, release, and publish configuration.