Spotify 到 YouTube 播放列表智能同步工作流

该工作流实现了Spotify与YouTube播放列表的智能同步,自动添加和删除曲目,确保两者内容一致。通过智能匹配机制,利用视频时长等数据精准查找对应视频,并定期监控YouTube播放列表的完整性,及时标记和修复被删除的视频。同时,支持数据库持久化管理和多种触发方式,用户可通过Discord接收同步状态通知,提升音乐管理效率与体验。

流程图
Spotify 到 YouTube 播放列表智能同步工作流 工作流程图

工作流名称

Spotify 到 YouTube 播放列表智能同步工作流

主要功能和亮点

  • 自动同步:实现 Spotify 播放列表与 YouTube 播放列表的一键同步,自动添加和删除曲目。
  • 智能匹配:利用 YouTube 数据 API 根据歌曲标题和艺术家名称搜索视频,并通过视频时长与 Spotify 曲目时长的±10%范围来精确匹配最佳视频。
  • 状态监控与修复:检测 YouTube 播放列表中被删除的视频,自动标记并重新搜索,保证播放列表的完整性。
  • 数据库持久化管理:通过 Supabase 数据库保存音乐数据和匹配状态,实现数据的持续跟踪和管理。
  • 多时间触发:支持按小时、每日中午、每日午夜及每月定时执行,灵活调整同步频率。
  • 通知提醒:通过 Discord Webhook 发送匹配成功或失败的通知,方便用户及时了解同步状态。

解决的核心问题

  • Spotify 和 YouTube 播放列表内容不一致,手动维护耗时且易出错。
  • 无法准确匹配 Spotify 曲目对应的 YouTube 视频,导致播放列表体验差。
  • YouTube 播放列表中视频被删除后,无法自动更新和恢复。
  • 缺乏统一的数据库管理和同步流程,难以追踪播放列表变化。

应用场景

  • 音乐爱好者希望将 Spotify 播放列表内容同步到 YouTube,方便跨平台播放。
  • 内容创作者或电台运营者需要维护多个平台的播放列表一致性。
  • 需要自动化管理大型音乐库,减少人工维护工作量。
  • 希望通过自动通知及时掌握播放列表变动情况的用户。

主要流程步骤

  1. 定时触发监控:按小时或每日定时检测 Spotify 播放列表快照(snapshot_id)是否有更新。
  2. 变更检测与数据库同步:对比 Spotify 播放列表与 Supabase 数据库中的曲目信息,添加新曲目,标记删除曲目。
  3. 智能视频搜索匹配
    • 针对新增或未匹配的曲目,在 YouTube 搜索前5条相关视频。
    • 按视频时长与曲目时长匹配,选择最佳视频。
    • 添加匹配成功的视频到 YouTube 播放列表,更新数据库记录。
    • 若无匹配,标记为“NOTFOUND”。
  4. YouTube 播放列表维护
    • 定期获取 YouTube 播放列表视频,检测被删除的视频。
    • 标记删除的视频并清理数据库对应记录。
  5. 恢复机制
    • 定期清除“NOTFOUND”标记,重新尝试匹配未找到的视频。
  6. 通知推送
    • 通过 Discord Webhook 发送添加或未匹配曲目的消息通知用户。

涉及的系统或服务

  • Spotify API:获取 Spotify 播放列表及曲目信息。
  • YouTube Data API v3:搜索视频、获取视频时长、管理 YouTube 播放列表。
  • Supabase:作为数据库存储音乐信息及同步状态。
  • Discord Webhook:发送同步状态通知。
  • n8n 自动化平台:构建和调度整个工作流。

适用人群或使用价值

  • 音乐爱好者和跨平台播放需求用户,省去手动同步繁琐。
  • 内容运营者和电台管理人员,保证多平台播放列表内容一致。
  • 自动化和数据驱动工作流爱好者,通过集成多API实现复杂业务自动化。
  • 希望提升播放列表管理效率、保证播放体验和数据准确性的用户。