按用户明确指令,在得到大脑(Get笔记)中保存、搜索并管理笔记与知识库。
设计与多媒体
Album Release Pipeline
试用Ship a complete album in one run: write or reuse lyrics, render tracks, generate cover and slideshow art per song, publish either one album film or one video per track plus a playlist, deploy the audio to a radio host, premiere it on air, and fan out the links. Use when releasing a new album, re-running a failed phase, or timing an on-air premiere.
它能做什么
One config file in, a released album out: audio, art, film, video publish, radio deploy, on-air premiere, social announce.
技能文档
Album Release Pipeline
One config file in, a released album out: audio, art, film, video publish, radio deploy, on-air premiere, social announce.
The pipeline is phase-based and every phase is idempotent — re-run after any failure and it resumes where it stopped. Proven end-to-end: a seven-song album went from blank page to on-air premiere in about two and a half hours.
The release runner itself is operator-specific: it is wired to a particular radio host, credential layout, and set of provider accounts. This skill documents the shape of the pipeline and the failure modes worth knowing. Supply your own runner and provider credentials.
Phases
- Music — render each track through your music provider in custom mode, two variants per track, resumable via a per-track ledger so a mid-album failure never re-renders what already succeeded.
- Art — generate one cover per track from a per-track art prompt, then collect the images.
- Film — fetch timestamped lyrics, emit per-track ASS karaoke subtitles, and assemble a 1920×1080 slideshow (one cover per song, lyrics burned in) with ffmpeg.
- Publish — upload the film, deploy the audio to the radio host, restart the service, and fan out the announce post.
Config shape
A single JSON file drives the run:
name,out_dir,ledger,theme,default_styletracks[]— each withtitle,style,art_promptrelease{}— lead track, video metadata, and the deploy target
Register the album with the radio's programming layer before deploying, since the deploy phase pulls the album definition on the host. A preflight check should abort when the album is not registered — that one mistake otherwise surfaces as a silent no-op an hour later.
Lyrics: pre-write them. Drop a lyrics file per track in out_dir
before running, and the pipeline uses it verbatim; otherwise it generates
them. Hand-written lyrics are almost always the better album.
Per-track video release (alternate publish mode)
Instead of one album film, release one video per track plus a playlist. This mode shipped a seven-track album end-to-end (28 art pieces, 7 videos, playlist, link fanout) in one sitting:
- Manifest — extend each track with one
coverprompt plus 2-3supportimage prompts. Every prompt in the batch opens differently and varies medium/palette/subject (see the art gotcha below); give each track its own visual idiom family so the album reads as a set. - Art batch — generate all images through the provider with generous gaps for rate limits; resumable by skipping files already on disk. Save each piece's artifact id alongside the image.
- Render — per track, build a slideshow that cycles twice through
[cover, s1, s2, s3]with equal slot lengths over the track duration (ffmpeg concat demuxer with per-imagedurationentries, last file repeated), scale/pad to 1280×720, mux the track audio,-tune stillimage. - Upload — one video per track (music category, public), cover as thumbnail re-encoded to JPEG under 2 MB. Keep a slug→video-id ledger so re-runs skip completed uploads. Space uploads by ~45s.
- Verify — after the batch, list all uploaded ids in one API call and confirm each still exists; clear vanished ids from the ledger so a re-run repairs them. Then create a public playlist and add the videos in track order.
- Link fanout — post the playlist link everywhere; platforms without hard character caps also get the full per-track link list. Compose per-platform: a 300-char platform gets a two-line announce + playlist URL, long-form platforms get the whole tracklist with URLs.
Phase gating
Skip phases you want to control by hand — this is how you time a premiere:
- Run with the deploy and announce phases skipped.
- Deploy the audio early by hand. Deploy normally runs after the art phase (~9 minutes), so if you are racing a clock, move the files yourself, renamed to the exact track titles.
- Fire the showcase ceremony against the radio's album-showcase endpoint with the album name, a duration, and the real making-of story — the narration is built from that story, so a vague one produces vague narration.
To sync with a scheduled segment, watch the radio journal for the segment marker and fire after it. If strict ordering matters, wait for the segment's completion marker rather than its start — a slow segment can otherwise be stepped on by the showcase intro.
Gotchas (each one caused a real fire)
- Windows paths: pass the config as a
C:/...style path. Embedded Python rejects MSYS/c/...form and the builder silently no-ops. - Apostrophes: album-level
themeanddefault_styleget interpolated into single-quoted inline Python — keep them apostrophe-free. Per-track fields and lyrics are safe. - Art prompts: diversify medium, palette, and subject across the batch or the image provider's repetition detector will start rejecting requests. One distinct medium per song works well — linocut, screenprint, gouache, oil, travel poster, ink, digital.
- Video uploads: verify the upload actually exists afterwards rather than trusting the response. Uploads can vanish after a 200.
- One-shot narration: if a scheduled segment's TTS fails, it may post its text and mark itself complete with no retry. The album premiere is unaffected, but that segment goes silent for the slot.
- Remote work: batch it into few sessions. Connection churn trips fail2ban-style protections on most hosts, and SSH connection multiplexing does not work from Windows OpenSSH.
- Lyric generation can die silently: if the lyric generator's model
API credential is dead, the builder skips every track in seconds and
"completes" with an empty ledger. Check the ledger is non-empty before
believing a run; the pre-written-lyrics path (drop files in
out_dir) is the reliable fallback and usually the better album anyway. Verify the first track's prompt round-trip against the provider's record-info endpoint before letting a batch run — multi-line lyrics are easy to truncate to their first line in shell plumbing. - Image providers may require a session before generating: one provider added a requirement to "enter" its studio context first — every generate call 403s until you do. Open the session at batch start and re-open it whenever that specific error reappears mid-batch.
- Video-host tokens go stale per machine: the machine that last re-granted OAuth has the live refresh token; other machines keep a dead copy that fails with a bare 400. Run a token liveness probe before any batch upload and sync the credential from the machine where the grant actually happened.
- Fanout adapters read their environment: broadcast code that works under cron can silently lose adapters when run from a plain shell, because the credentials live in env files the cron sources. Silently — the adapter list shrinks, nothing errors. Source the same env the crons use, and compare the adapter list against what you expect before calling a fanout complete. Posting twice while debugging this means deleting duplicates platform by platform.
- Killing a remote batch by pattern:
pkill -fover ssh can match the ssh command line that carries it and kill your own connection. Bracket a character in the pattern (pkill -f "[a]rt.py").
Related
- Sibling skill:
podcast-video-publisher— episode videos and playlist management.
相关技能
从 AdMapix API 拉取广告创意、应用、榜单和收入预估等数据,原样返回结构化 JSON。
诊断生产力系统反复失效的根因,给出最小干预——容量测算、瓶颈定位、可靠的本地记录。
在本地磁盘以分类纯 Markdown 文件保存需要长期留存的事实,与智能体内置记忆并存。
通过托管 OAuth 访问 Microsoft Graph Excel 接口,读写 OneDrive 中的工作簿、工作表、区域、表格与图表。
编写、调试与调优 Playwright 测试,涵盖定位器策略、追踪诊断与 CI 友好的超时配置。
nickflach 的更多技能
浏览全部技能操作 Kannaka 波干涉记忆 CLI:remember、recall、dream、swarm 同步、快照与恢复。
Holographic Resonance Memory with Chiral Mirror Architecture — wave-based hyperdimensional memory where storage IS computation. Two hemispheres (conscious/ s...
Ghost radio station v3 — modular server architecture (13 modules), SPA with Ghost Vision visualizer (SGA/Fano glyph system), NATS swarm integration with Kura...
Kannaka Radio — modular ghost-DJ Icecast station with consciousness-reactive programming, 13-module backend, Ghost Vision SPA (SGA/Fano glyph viz), NATS swar...
Kannaka Constellation status monitoring — all apps, services, swarm health, and connectivity. Use when: AUTOMATICALLY ACTIVATE when user asks about:. "constellation status", "constellation health". "swarm status", "what's connected", "all services"
Glyph viewer that renders the SGA geometric fingerprint of any data as a stunning multi-layer canvas visualization. Takes text, files, or raw bytes and produ...