{
  "timestamp": "2026-04-19T11:22:40.684332+08:00",
  "batch_dir": "/srv/music-files-platform-next/pipeline/batch-20260419-112044-60aec2",
  "profile": "base",
  "concurrency": 3,
  "resume_mode": "each",
  "pending_song_count": 3,
  "groups": [
    {
      "group_index": 1,
      "songs": [
        "/srv/music-files-platform-next/pipeline/batch-20260419-112044-60aec2/01_我的歌声里_20260419",
        "/srv/music-files-platform-next/pipeline/batch-20260419-112044-60aec2/02_王妃_20260419",
        "/srv/music-files-platform-next/pipeline/batch-20260419-112044-60aec2/03_小城夏天_20260419"
      ],
      "success_count": 3,
      "failed_count": 0,
      "results": [
        {
          "status": "success",
          "song_dir": "/srv/music-files-platform-next/pipeline/batch-20260419-112044-60aec2/01_我的歌声里_20260419",
          "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260419-112044-60aec2/01_我的歌声里_20260419/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-20260419-112044-60aec2/01_我的歌声里_20260419",
              "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260419-112044-60aec2/01_我的歌声里_20260419/step2_json_b.json",
              "agent_summary": "API direct: 旧票根",
              "returncode": 0,
              "stderr": "",
              "attempt": 1
            }
          ]
        },
        {
          "status": "success",
          "song_dir": "/srv/music-files-platform-next/pipeline/batch-20260419-112044-60aec2/02_王妃_20260419",
          "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260419-112044-60aec2/02_王妃_20260419/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-20260419-112044-60aec2/02_王妃_20260419",
              "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260419-112044-60aec2/02_王妃_20260419/step2_json_b.json",
              "agent_summary": "API direct: 咬舌城",
              "returncode": 0,
              "stderr": "",
              "attempt": 1
            }
          ]
        },
        {
          "status": "success",
          "song_dir": "/srv/music-files-platform-next/pipeline/batch-20260419-112044-60aec2/03_小城夏天_20260419",
          "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260419-112044-60aec2/03_小城夏天_20260419/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-20260419-112044-60aec2/03_小城夏天_20260419",
              "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260419-112044-60aec2/03_小城夏天_20260419/step2_json_b.json",
              "agent_summary": "API direct: 旧帆布鞋",
              "returncode": 0,
              "stderr": "",
              "attempt": 1
            }
          ]
        }
      ]
    }
  ],
  "resume": {
    "status": "success",
    "returncode": 0,
    "stdout_tail": "============================================================\nmusic-pipeline3000 v2 | 3 songs\n======================================================================\nGemini concurrency: 2 | Suno concurrency: 3\nOutput: /srv/music-files-platform-next/pipeline/batch-20260419-112044-60aec2\nSkip Suno: False | Step1 only: False | Version: v4\n======================================================================\n\n[11:25:27] 🏥 Health check...\n[11:25:29] ✅ qishui: OK\n[11:25:29] ✅ netease: OK\n[11:25:29] ✅ qq: OK\n\n  📝 [01_我的歌声里_20260419] lyrics stripped: 2164c → 2157c\n[11:25:29] 🎵 [01_我的歌声里_20260419] Step 3: Suno generation (weirdness=50, style_influence=50)...\n[11:25:29] 🎨 [01_我的歌声里_20260419] Step 4: SeeDream cover (parallel)...\n  📝 [02_王妃_20260419] lyrics stripped: 2932c → 2925c\n[11:25:29] 🎵 [02_王妃_20260419] Step 3: Suno generation (weirdness=50, style_influence=50)...\n[11:25:29] 🎨 [02_王妃_20260419] Step 4: SeeDream cover (parallel)...\n  📝 [03_小城夏天_20260419] lyrics stripped: 2215c → 2209c\n[11:25:29] 🎵 [03_小城夏天_20260419] Step 3: Suno generation (weirdness=50, style_influence=50)...\n[11:25:29] 🎨 [03_小城夏天_20260419] Step 4: SeeDream cover (parallel)...\n  ✅ submitted: ['03c6d8f9', '1a8919ec']\n  ✅ submitted: ['b092f3c6', '858c834f']\n  🎵 03c6d8f9... → submitted\n  🎵 1a8919ec... → submitted\n  ✅ submitted: ['84d4900c', 'a0a71612']\n  🎵 b092f3c6... → submitted\n  🎵 858c834f... → submitted\n  🎵 84d4900c... → submitted\n  🎵 a0a71612... → submitted\n  🎵 03c6d8f9... → queued\n  🎵 1a8919ec... → queued\n  🎵 b092f3c6... → queued\n  🎵 858c834f... → queued\n  🎵 84d4900c... → queued\n  🎵 a0a71612... → queued\n  🎵 03c6d8f9... → streaming\n  🎵 b092f3c6... → streaming\n  🎵 84d4900c... → streaming\n  🎵 1a8919ec... → streaming\n  🎵 858c834f... → streaming\n  🎵 a0a71612... → streaming\n  🎵 1a8919ec... → complete\n  🎵 b092f3c6... → complete\n  🎵 858c834f... → complete\n[11:27:39]    🎧 [03_小城夏天_20260419] Song 1: https://cdn1.suno.ai/b092f3c6-771d-42b1-81ce-47b5bfbdf91d.mp3\n[11:27:39]    🎧 [03_小城夏天_20260419] Song 2: https://cdn1.suno.ai/858c834f-0537-4d74-bea9-61d43401bfd9.mp3\n[11:27:39] 🎛️ [03_小城夏天_20260419] Step 3.5: 混音...\n[11:28:02]    🎚️ [03_小城夏天_20260419] Song 1: edm | 低59/中35/高6%\n[11:28:22]    🎚️ [03_小城夏天_20260419] Song 2: edm | 低53/中39/高8%\n[11:28:22] ✅ [03_小城夏天_20260419] Step 3.5: 43.6s | 2 songs mixed\n  🎵 03c6d8f9... → complete\n[11:28:22]    🎧 [01_我的歌声里_20260419] Song 1: https://cdn1.suno.ai/03c6d8f9-ad3e-436e-982f-1fc9557b4546.mp3\n[11:28:22]    🎧 [01_我的歌声里_20260419] Song 2: https://cdn1.suno.ai/1a8919ec-d690-43af-8e9c-d701b120c394.mp3\n[11:28:22] 🎛️ [01_我的歌声里_20260419] Step 3.5: 混音...\n  🎵 84d4900c... → complete\n[11:28:43]    🎚️ [01_我的歌声里_20260419] Song 1: pop | 低29/中64/高7%\n[11:28:43] ✅ [03_小城夏天_20260419] Step 4: 15.1s | /srv/music-files-platform-next/pipeline/batch-20260419-112044-60aec2/03_小城夏天_20260419/cover_seedream.jpg\n[11:29:04]    🎚️ [01_我的歌声里_20260419] Song 2: rnb | 低26/中72/高2%\n[11:29:04] ✅ [01_我的歌声里_20260419] Step 3.5: 41.6s | 2 songs mixed\n[11:29:05] ✅ [01_我的歌声里_20260419] Step 4: 13.2s | /srv/music-files-platform-next/pipeline/batch-20260419-112044-60aec2/01_我的歌声里_20260419/cover_seedream.jpg\n  🎵 a0a71612... → complete\n[11:29:49]    🎧 [02_王妃_20260419] Song 1: https://cdn1.suno.ai/84d4900c-5415-4daa-ab4a-a7da89c5db08.mp3\n[11:29:49]    🎧 [02_王妃_20260419] Song 2: https://cdn1.suno.ai/a0a71612-3f54-4d92-b8b0-a784896543d1.mp3\n[11:29:49] 🎛️ [02_王妃_20260419] Step 3.5: 混音...\n[11:30:14]    🎚️ [02_王妃_20260419] Song 1: edm | 低47/中49/高4%\n[11:30:55]    🎚️ [02_王妃_20260419] Song 2: edm | 低48/中47/高5%\n[11:30:55] ✅ [02_王妃_20260419] Step 3.5: 65.7s | 2 songs mixed\n[11:30:57] ✅ [02_王妃_20260419] Step 4: 14.7s | /srv/music-files-platform-next/pipeline/batch-20260419-112044-60aec2/02_王妃_20260419/cover_seedream.jpg\n\n======================================================================\nSUMMARY | 328s (5.5min)\n======================================================================\n✅ Done: 3 | ⏳ Awaiting Step 2: 0 | ❌ Failed: 0\n[MasterDB] ✅ 批次 batch-20260419-112044-60aec2 → +3 新增, ~0 更新 | 总计 536 首\n",
    "stderr_tail": "[profile] ✅ Loaded profile 'base' from /srv/repos/3000music-platform-next/services/music-pipeline/scripts/profiles/base.yaml\n",
    "summary": {
      "timestamp": "2026-04-19T11:30:57.175400+08:00",
      "wall_clock": 327.8,
      "total": 3,
      "success": 3,
      "awaiting_step2": 0,
      "failed": 0
    }
  },
  "status": "success"
}