{
  "timestamp": "2026-05-07T14:36:22.211197+08:00",
  "batch_dir": "/srv/music-files-platform-next/pipeline/batch-20260507-143313-671371",
  "profile": "__runtime_batch-20260507-143313-671371",
  "concurrency": 3,
  "resume_mode": "each",
  "pending_song_count": 4,
  "groups": [
    {
      "group_index": 1,
      "songs": [
        "/srv/music-files-platform-next/pipeline/batch-20260507-143313-671371/01_Đắm Chìm (沦陷)_20260507",
        "/srv/music-files-platform-next/pipeline/batch-20260507-143313-671371/02_离开我的依赖（DJ铁柱）_20260507",
        "/srv/music-files-platform-next/pipeline/batch-20260507-143313-671371/03_青衣 (DJ我为你唱一曲如游丝的气息)_20260507"
      ],
      "success_count": 3,
      "failed_count": 0,
      "results": [
        {
          "status": "success",
          "song_dir": "/srv/music-files-platform-next/pipeline/batch-20260507-143313-671371/01_Đắm Chìm (沦陷)_20260507",
          "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260507-143313-671371/01_Đắm Chìm (沦陷)_20260507/step2_json_b.json",
          "agent_summary": "API direct: 偏偏记得你说过不爱我",
          "returncode": 0,
          "stderr": "",
          "attempt": 1,
          "attempts": [
            {
              "status": "success",
              "song_dir": "/srv/music-files-platform-next/pipeline/batch-20260507-143313-671371/01_Đắm Chìm (沦陷)_20260507",
              "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260507-143313-671371/01_Đắm Chìm (沦陷)_20260507/step2_json_b.json",
              "agent_summary": "API direct: 偏偏记得你说过不爱我",
              "returncode": 0,
              "stderr": "",
              "attempt": 1
            }
          ]
        },
        {
          "status": "success",
          "song_dir": "/srv/music-files-platform-next/pipeline/batch-20260507-143313-671371/02_离开我的依赖（DJ铁柱）_20260507",
          "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260507-143313-671371/02_离开我的依赖（DJ铁柱）_20260507/step2_json_b.json",
          "agent_summary": "API direct: 散场以后只剩我一个",
          "returncode": 0,
          "stderr": "",
          "attempt": 1,
          "attempts": [
            {
              "status": "success",
              "song_dir": "/srv/music-files-platform-next/pipeline/batch-20260507-143313-671371/02_离开我的依赖（DJ铁柱）_20260507",
              "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260507-143313-671371/02_离开我的依赖（DJ铁柱）_20260507/step2_json_b.json",
              "agent_summary": "API direct: 散场以后只剩我一个",
              "returncode": 0,
              "stderr": "",
              "attempt": 1
            }
          ]
        },
        {
          "status": "success",
          "song_dir": "/srv/music-files-platform-next/pipeline/batch-20260507-143313-671371/03_青衣 (DJ我为你唱一曲如游丝的气息)_20260507",
          "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260507-143313-671371/03_青衣 (DJ我为你唱一曲如游丝的气息)_20260507/step2_json_b.json",
          "agent_summary": "API direct: 你走那年 山河还在下雪",
          "returncode": 0,
          "stderr": "",
          "attempt": 1,
          "attempts": [
            {
              "status": "success",
              "song_dir": "/srv/music-files-platform-next/pipeline/batch-20260507-143313-671371/03_青衣 (DJ我为你唱一曲如游丝的气息)_20260507",
              "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260507-143313-671371/03_青衣 (DJ我为你唱一曲如游丝的气息)_20260507/step2_json_b.json",
              "agent_summary": "API direct: 你走那年 山河还在下雪",
              "returncode": 0,
              "stderr": "",
              "attempt": 1
            }
          ]
        }
      ]
    }
  ],
  "resume": {
    "status": "success",
    "returncode": 0,
    "stdout_tail": "14:40:28] ✅ [04_琵琶曲（东船与西舫）_20260507] Step 2 API: 《你走后 长安下了雪》 | 31.8s | in=10045 out=2170 | ~$0.063\n[14:40:28] ✅ [04_琵琶曲（东船与西舫）_20260507] Step 2.5: originality 79% ✓\n[14:40:28] ✅ [04_琵琶曲（东船与西舫）_20260507] Step 2: 《你走后 长安下了雪》\n[14:40:28] 📁 [04_琵琶曲（东船与西舫）_20260507] Renamed → 04_琵琶曲（东船与西舫）_你走后_长安下了雪_20260507\n  📝 [04_琵琶曲（东船与西舫）_你走后_长安下了雪_20260507] lyrics stripped: 3199c → 3191c\n[14:40:28] 🎵 [04_琵琶曲（东船与西舫）_你走后_长安下了雪_20260507] Step 3: Suno generation (weirdness=50, style_influence=50)...\n[14:40:28] 🎨 [04_琵琶曲（东船与西舫）_你走后_长安下了雪_20260507] Step 4: SeeDream cover (parallel)...\n  ✅ submitted: ['fba33f79', '87da3151']\n  🎵 fba33f79... → submitted\n  🎵 87da3151... → submitted\n  🎵 fba33f79... → queued\n  🎵 87da3151... → queued\n  🎵 fba33f79... → streaming\n  🎵 87da3151... → streaming\n  ✅ submitted: ['70460cf6', '271c37cf']\n  🎵 70460cf6... → submitted\n  🎵 271c37cf... → submitted\n  🎵 70460cf6... → queued\n  🎵 271c37cf... → queued\n  🎵 70460cf6... → streaming\n  🎵 271c37cf... → streaming\n  🎵 0ef66313... → complete\n  🎵 3f314256... → complete\n[14:42:53]    🎧 [01_Đắm Chìm (沦陷)_20260507] Song 1: https://cdn1.suno.ai/3f314256-c4a2-42b3-8c35-942e550930b6.mp3\n[14:42:53]    🎧 [01_Đắm Chìm (沦陷)_20260507] Song 2: https://cdn1.suno.ai/0ef66313-cd81-4de7-88bb-a9ae81e968a4.mp3\n[14:42:53] 🎛️ [01_Đắm Chìm (沦陷)_20260507] Step 3.5: 混音...\n[14:43:13]    🎚️ [01_Đắm Chìm (沦陷)_20260507] Song 1: edm | 低71/中23/高6%\n  ✅ submitted: ['c27bbee4', '98d6265e']\n  🎵 fba33f79... → complete\n  🎵 87da3151... → complete\n[14:43:14]    🎧 [03_青衣 (DJ我为你唱一曲如游丝的气息)_20260507] Song 1: https://cdn1.suno.ai/fba33f79-973a-4f2d-83cf-dd816669f6c6.mp3\n[14:43:14]    🎧 [03_青衣 (DJ我为你唱一曲如游丝的气息)_20260507] Song 2: https://cdn1.suno.ai/87da3151-898b-4967-aa54-800873bb030e.mp3\n[14:43:14] 🎛️ [03_青衣 (DJ我为你唱一曲如游丝的气息)_20260507] Step 3.5: 混音...\n  🎵 c27bbee4... → queued\n  🎵 98d6265e... → queued\n[14:43:31]    🎚️ [01_Đắm Chìm (沦陷)_20260507] Song 2: edm | 低63/中33/高4%\n[14:43:31] ✅ [01_Đắm Chìm (沦陷)_20260507] Step 3.5: 37.9s | 2 songs mixed\n[14:43:31] ⚠️  [01_Đắm Chìm (沦陷)_20260507] Step 4: http_403 (non-fatal)\n[14:43:47]    🎚️ [03_青衣 (DJ我为你唱一曲如游丝的气息)_20260507] Song 1: hip_hop | 低35/中59/高5%\n  🎵 70460cf6... → complete\n  🎵 c27bbee4... → streaming\n  🎵 98d6265e... → streaming\n[14:44:03]    🎚️ [03_青衣 (DJ我为你唱一曲如游丝的气息)_20260507] Song 2: edm | 低49/中47/高4%\n[14:44:03] ✅ [03_青衣 (DJ我为你唱一曲如游丝的气息)_20260507] Step 3.5: 49.5s | 2 songs mixed\n[14:44:03] ⚠️  [03_青衣 (DJ我为你唱一曲如游丝的气息)_20260507] Step 4: http_403 (non-fatal)\n  🎵 271c37cf... → complete\n[14:44:51]    🎧 [02_离开我的依赖（DJ铁柱）_20260507] Song 1: https://cdn1.suno.ai/70460cf6-82f2-4a39-9634-c2a1f25cdfe2.mp3\n[14:44:51]    🎧 [02_离开我的依赖（DJ铁柱）_20260507] Song 2: https://cdn1.suno.ai/271c37cf-285d-4cda-a05c-4c5df20a4ae8.mp3\n[14:44:51] 🎛️ [02_离开我的依赖（DJ铁柱）_20260507] Step 3.5: 混音...\n[14:45:05]    🎚️ [02_离开我的依赖（DJ铁柱）_20260507] Song 1: edm | 低68/中26/高6%\n[14:45:21]    🎚️ [02_离开我的依赖（DJ铁柱）_20260507] Song 2: edm | 低69/中25/高6%\n[14:45:21] ✅ [02_离开我的依赖（DJ铁柱）_20260507] Step 3.5: 30.7s | 2 songs mixed\n[14:45:21] ⚠️  [02_离开我的依赖（DJ铁柱）_20260507] Step 4: http_403 (non-fatal)\n  🎵 98d6265e... → complete\n  🎵 c27bbee4... → complete\n[14:46:35]    🎧 [04_琵琶曲（东船与西舫）_你走后_长安下了雪_20260507] Song 1: https://cdn1.suno.ai/c27bbee4-9442-480e-8c01-ce24ed2f47c0.mp3\n[14:46:35]    🎧 [04_琵琶曲（东船与西舫）_你走后_长安下了雪_20260507] Song 2: https://cdn1.suno.ai/98d6265e-75fd-4105-a37a-7a040fe1f962.mp3\n[14:46:35] 🎛️ [04_琵琶曲（东船与西舫）_你走后_长安下了雪_20260507] Step 3.5: 混音...\n[14:46:52]    🎚️ [04_琵琶曲（东船与西舫）_你走后_长安下了雪_20260507] Song 1: pop | 低46/中50/高5%\n[14:47:07]    🎚️ [04_琵琶曲（东船与西舫）_你走后_长安下了雪_20260507] Song 2: pop | 低40/中55/高5%\n[14:47:07] ✅ [04_琵琶曲（东船与西舫）_你走后_长安下了雪_20260507] Step 3.5: 32.4s | 2 songs mixed\n[14:47:07] ⚠️  [04_琵琶曲（东船与西舫）_你走后_长安下了雪_20260507] Step 4: http_403 (non-fatal)\n\n======================================================================\nSUMMARY | 464s (7.7min)\n======================================================================\n✅ Done: 4 | ⏳ Awaiting Step 2: 0 | ❌ Failed: 0\n[MasterDB] ✅ 批次 batch-20260507-143313-671371 → +4 新增, ~0 更新 | 总计 630 首\n",
    "stderr_tail": "[profile] ✅ Loaded profile '__runtime_batch-20260507-143313-671371' from /srv/repos/3000music-platform-next/services/music-pipeline/scripts/profiles/__runtime_batch-20260507-143313-671371.yaml\n",
    "summary": {
      "timestamp": "2026-05-07T14:47:07.572248+08:00",
      "wall_clock": 464.2,
      "total": 4,
      "success": 4,
      "awaiting_step2": 0,
      "failed": 0
    }
  },
  "status": "success"
}