{
  "timestamp": "2026-05-12T16:52:50.233695+08:00",
  "batch_dir": "/srv/music-files-platform-next/pipeline/batch-20260512-165111-c99f89",
  "profile": "__runtime_batch-20260512-165111-c99f89",
  "concurrency": 3,
  "resume_mode": "each",
  "pending_song_count": 2,
  "groups": [
    {
      "group_index": 1,
      "songs": [
        "/srv/music-files-platform-next/pipeline/batch-20260512-165111-c99f89/01_恋人_20260512",
        "/srv/music-files-platform-next/pipeline/batch-20260512-165111-c99f89/02_唯一_20260512"
      ],
      "success_count": 2,
      "failed_count": 0,
      "results": [
        {
          "status": "success",
          "song_dir": "/srv/music-files-platform-next/pipeline/batch-20260512-165111-c99f89/01_恋人_20260512",
          "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260512-165111-c99f89/01_恋人_20260512/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-20260512-165111-c99f89/01_恋人_20260512",
              "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260512-165111-c99f89/01_恋人_20260512/step2_json_b.json",
              "agent_summary": "API direct: 侧身睡",
              "returncode": 0,
              "stderr": "",
              "attempt": 1
            }
          ]
        },
        {
          "status": "success",
          "song_dir": "/srv/music-files-platform-next/pipeline/batch-20260512-165111-c99f89/02_唯一_20260512",
          "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260512-165111-c99f89/02_唯一_20260512/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-20260512-165111-c99f89/02_唯一_20260512",
              "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260512-165111-c99f89/02_唯一_20260512/step2_json_b.json",
              "agent_summary": "API direct: 骨缝里",
              "returncode": 0,
              "stderr": "",
              "attempt": 1
            }
          ]
        }
      ]
    }
  ],
  "resume": {
    "status": "success",
    "returncode": 0,
    "stdout_tail": "\n======================================================================\nmusic-pipeline3000 v2 | 2 songs\n======================================================================\nGemini concurrency: 2 | Suno concurrency: 3\nOutput: /srv/music-files-platform-next/pipeline/batch-20260512-165111-c99f89\nSkip Suno: False | Step1 only: False | Version: v4\n======================================================================\n\n[16:56:18] 🏥 Health check...\n[16:56:20] ✅ qishui: OK\n[16:56:20] ✅ netease: OK\n[16:56:20] ✅ qq: OK\n\n  📝 [01_恋人_20260512] lyrics stripped: 3922c → 3916c\n[16:56:20] 🎵 [01_恋人_20260512] Step 3: Suno generation (weirdness=50, style_influence=50)...\n[16:56:20] 🎨 [01_恋人_20260512] Step 4: SeeDream cover (parallel)...\n  📝 [02_唯一_20260512] lyrics stripped: 4170c → 4164c\n[16:56:20] 🎵 [02_唯一_20260512] Step 3: Suno generation (weirdness=50, style_influence=50)...\n[16:56:20] 🎨 [02_唯一_20260512] Step 4: SeeDream cover (parallel)...\n  ✅ submitted: ['44e81064', '1e122a13']\n  🎵 44e81064... → submitted\n  🎵 1e122a13... → submitted\n  🎵 44e81064... → queued\n  🎵 1e122a13... → queued\n  🎵 44e81064... → streaming\n  ✅ submitted: ['cbb038dd', 'd46ec6b2']\n  🎵 cbb038dd... → submitted\n  🎵 d46ec6b2... → submitted\n  🎵 cbb038dd... → queued\n  🎵 d46ec6b2... → queued\n  🎵 1e122a13... → streaming\n  🎵 cbb038dd... → streaming\n  🎵 d46ec6b2... → streaming\n  🎵 44e81064... → complete\n  🎵 cbb038dd... → complete\n  🎵 d46ec6b2... → complete\n[17:01:16]    🎧 [01_恋人_20260512] Song 1: https://cdn1.suno.ai/cbb038dd-7865-4386-a3a4-e6bee72e9ad4.mp3\n[17:01:16]    🎧 [01_恋人_20260512] Song 2: https://cdn1.suno.ai/d46ec6b2-dc01-4142-8b2f-06cd88fd1c3f.mp3\n[17:01:16] 🎛️ [01_恋人_20260512] Step 3.5: 混音...\n[17:01:37]    🎚️ [01_恋人_20260512] Song 1: pop | 低68/中29/高4%\n  🎵 1e122a13... → complete\n[17:01:38]    🎧 [02_唯一_20260512] Song 1: https://cdn1.suno.ai/44e81064-921c-4050-b250-3a085b9b2153.mp3\n[17:01:38]    🎧 [02_唯一_20260512] Song 2: https://cdn1.suno.ai/1e122a13-071a-45c2-9aa2-2f1f3e63ed4d.mp3\n[17:01:38] 🎛️ [02_唯一_20260512] Step 3.5: 混音...\n[17:01:54]    🎚️ [02_唯一_20260512] Song 1: pop | 低38/中54/高8%\n[17:02:11]    🎚️ [01_恋人_20260512] Song 2: pop | 低65/中31/高4%\n[17:02:11] ✅ [01_恋人_20260512] Step 3.5: 55.1s | 2 songs mixed\n[17:02:11] ⚠️  [01_恋人_20260512] Step 4: http_403 (non-fatal)\n[17:02:28]    🎚️ [02_唯一_20260512] Song 2: hip_hop | 低46/中49/高6%\n[17:02:28] ✅ [02_唯一_20260512] Step 3.5: 50.5s | 2 songs mixed\n[17:02:28] ⚠️  [02_唯一_20260512] Step 4: http_403 (non-fatal)\n\n======================================================================\nSUMMARY | 369s (6.1min)\n======================================================================\n✅ Done: 2 | ⏳ Awaiting Step 2: 0 | ❌ Failed: 0\n[MasterDB] ✅ 批次 batch-20260512-165111-c99f89 → +2 新增, ~0 更新 | 总计 685 首\n",
    "stderr_tail": "[profile] ✅ Loaded profile '__runtime_batch-20260512-165111-c99f89' from /srv/repos/3000music-platform-next/services/music-pipeline/scripts/profiles/__runtime_batch-20260512-165111-c99f89.yaml\n",
    "summary": {
      "timestamp": "2026-05-12T17:02:28.600555+08:00",
      "wall_clock": 368.6,
      "total": 2,
      "success": 2,
      "awaiting_step2": 0,
      "failed": 0
    }
  },
  "status": "success"
}