
=== 2026-05-13 17:15:04 exec: /usr/bin/python3 /srv/current/3000music-platform-next/services/music-pipeline/scripts/pipeline.py /srv/music-files-platform-next/pipeline/batch-20260513-171504-358e9a/_input.json -o /srv/music-files-platform-next/pipeline/batch-20260513-171504-358e9a -cg 2 -cs 2 --skip-feishu --profile __runtime_batch-20260513-171504-358e9a --step1-only ===
[profile] ✅ Loaded profile '__runtime_batch-20260513-171504-358e9a' from /srv/repos/3000music-platform-next/services/music-pipeline/scripts/profiles/__runtime_batch-20260513-171504-358e9a.yaml
[   INFO   ] MusicExtractorSVM: no classifier models were configured by default
[   INFO   ] On connection Flux::flux → IIR::signal:
[   INFO   ] BUFFER SIZE MISMATCH: max=0 - asked for read size 4096
[   INFO   ] resizing buffer to 36040/4505
[   INFO   ] FrameCutter: dropping incomplete frame
[   INFO   ] On connection Flux::flux → IIR::signal:
[   INFO   ] BUFFER SIZE MISMATCH: max=0 - asked for read size 4096
[   INFO   ] resizing buffer to 36040/4505
/usr/local/lib/python3.13/dist-packages/scipy/cluster/hierarchy.py:810: ClusterWarning: The symmetric non-negative hollow observation matrix looks suspiciously like an uncondensed distance matrix
  return linkage(y, method='ward', metric='euclidean')

======================================================================
music-pipeline3000 v2 | 2 songs
======================================================================
Gemini concurrency: 2 | Suno concurrency: 2
Output: /srv/music-files-platform-next/pipeline/batch-20260513-171504-358e9a
Skip Suno: False | Step1 only: True | Version: v4
======================================================================

[17:15:05] 🏥 Health check...
[17:15:07] ✅ qishui: OK
[17:15:07] ✅ netease: OK
[17:15:07] ✅ qq: OK

[17:15:07] 🔍 [01_Joy In The Morning (Original Mix)_20260513] Step 0: Fetching...
[17:15:07] 🔍 [02_Many Places_20260513] Step 0: Fetching...
[17:15:10] ✅ [02_Many Places_20260513] Step 0: netease | 7c lyrics
[17:15:10] ⬇️  [02_Many Places_20260513] Step 0.5: Download from netease...
[17:15:10] 🔄 [01_Joy In The Morning (Original Mix)_20260513] Step 0: retry 1/2 in 5s (no lyrics yet)...
[17:15:17] 🔄 [01_Joy In The Morning (Original Mix)_20260513] Step 0: retry 2/2 in 10s (no lyrics yet)...
[17:15:19] ✅ [02_Many Places_20260513] Step 0.5: 6743489 bytes | 348.8s
[17:15:19] 🔬 [02_Many Places_20260513] Step 0.75: Audio features...
[17:15:35] ⚠️  [01_Joy In The Morning (Original Mix)_20260513] Step 0: No lyrics found — proceeding without (Gemini will generate from audio)
[17:15:35] ✅ [01_Joy In The Morning (Original Mix)_20260513] Step 0: netease | 0c lyrics
[17:15:35] ⬇️  [01_Joy In The Morning (Original Mix)_20260513] Step 0.5: Download from netease...
[17:15:43] ✅ [01_Joy In The Morning (Original Mix)_20260513] Step 0.5: 7145426 bytes | 368.1s
[17:15:43] 🔬 [01_Joy In The Morning (Original Mix)_20260513] Step 0.75: Audio features...
[17:16:16] ✅ [02_Many Places_20260513] Step 0.75: BPM=151.04 Key=D major (57.2s)
[17:16:16] 🧠 [02_Many Places_20260513] Step 1: Gemini (queuing)...
{"__trace__": true, "ts": "2026-05-13T09:16:16.278Z", "trace_id": "batch-20260513-171504-358e9a", "song_key": "02_Many Places_20260513", "step": "step1", "type": "step_start", "inputs": {"audio": "/srv/music-files-platform-next/pipeline/batch-20260513-171504-358e9a/02_Many Places_20260513/song_pgc.mp3", "has_features": true}}
/usr/local/lib/python3.13/dist-packages/scipy/cluster/hierarchy.py:810: ClusterWarning: The symmetric non-negative hollow observation matrix looks suspiciously like an uncondensed distance matrix
  return linkage(y, method='ward', metric='euclidean')
  ⚠️ Gemini official 503 on key #1/5, will retry...
  🔄 Retry 1/4 in 3s...
[17:16:23] ✅ [01_Joy In The Morning (Original Mix)_20260513] Step 0.75: BPM=120.0 Key=D minor (39.6s)
[17:16:23] 🧠 [01_Joy In The Morning (Original Mix)_20260513] Step 1: Gemini (queuing)...
{"__trace__": true, "ts": "2026-05-13T09:16:23.081Z", "trace_id": "batch-20260513-171504-358e9a", "song_key": "01_Joy In The Morning (Original Mix)_20260513", "step": "step1", "type": "step_start", "inputs": {"audio": "/srv/music-files-platform-next/pipeline/batch-20260513-171504-358e9a/01_Joy In The Morning (Original Mix)_20260513/song_pgc.mp3", "has_features": true}}
[step1] 🎹 Instrumental mode — empty lyrics fallback
  ⚠️ Gemini official 503 on key #2/5, will retry...
  🔄 Retry 2/4 in 3s...
  ⚠️ Gemini official 503 on key #3/5, will retry...
  🔄 Retry 3/4 in 3s...
  ⚠️ Gemini official 503 on key #4/5, will retry...
  🔄 Retry 4/4 in 3s...
  ⚠️ Gemini official 503 on key #1/5, will retry...
  🔄 Retry 1/4 in 3s...
  ⚠️ Gemini official 503 on key #5/5, will retry...
{"__trace__": true, "ts": "2026-05-13T09:17:05.778Z", "trace_id": "batch-20260513-171504-358e9a", "song_key": "02_Many Places_20260513", "step": "step1", "type": "api_call", "provider": "gemini", "model": "gemini-2.5-pro", "duration_sec": 8.3, "cost_usd": null, "status": "http_503"}
{"__trace__": true, "ts": "2026-05-13T09:17:05.778Z", "trace_id": "batch-20260513-171504-358e9a", "song_key": "02_Many Places_20260513", "step": "step1", "type": "step_end", "status": "success", "duration_sec": 49.5}
[17:17:05] ❌ [02_Many Places_20260513] Step 1: http_503 (8.3s)
  ⚠️ Gemini official 503 on key #2/5, will retry...
  🔄 Retry 2/4 in 3s...
  ⚠️ Gemini official 503 on key #3/5, will retry...
  🔄 Retry 3/4 in 3s...
  ⚠️ Gemini official 503 on key #4/5, will retry...
  🔄 Retry 4/4 in 3s...
  ⚠️ Gemini official 503 on key #5/5, will retry...
{"__trace__": true, "ts": "2026-05-13T09:17:36.234Z", "trace_id": "batch-20260513-171504-358e9a", "song_key": "01_Joy In The Morning (Original Mix)_20260513", "step": "step1", "type": "api_call", "provider": "gemini", "model": "gemini-2.5-pro", "duration_sec": 4.8, "cost_usd": null, "status": "http_503"}
{"__trace__": true, "ts": "2026-05-13T09:17:36.234Z", "trace_id": "batch-20260513-171504-358e9a", "song_key": "01_Joy In The Morning (Original Mix)_20260513", "step": "step1", "type": "step_end", "status": "success", "duration_sec": 73.153}
[17:17:36] ❌ [01_Joy In The Morning (Original Mix)_20260513] Step 1: http_503 (4.8s)

======================================================================
SUMMARY | 149s (2.5min)
======================================================================
✅ Done: 0 | ⏳ Awaiting Step 2: 0 | ❌ Failed: 2
[exit 0]

=== 2026-05-13 17:17:36 exec: /usr/bin/python3 /srv/current/3000music-platform-next/services/music-pipeline/scripts/orchestrate_phase2.py /srv/music-files-platform-next/pipeline/batch-20260513-171504-358e9a --profile __runtime_batch-20260513-171504-358e9a --resume-mode each --skip-feishu ===
{"timestamp": "2026-05-13T17:17:37.073985+08:00", "batch_dir": "/srv/music-files-platform-next/pipeline/batch-20260513-171504-358e9a", "profile": "__runtime_batch-20260513-171504-358e9a", "concurrency": 3, "resume_mode": "each", "pending_song_count": 0, "groups": [], "status": "noop", "resume": null}
[exit 0]

=== 2026-05-13 17:17:37 exec: /usr/bin/python3 /srv/current/3000music-platform-next/services/music-pipeline/scripts/steps/step5_feishu.py /srv/music-files-platform-next/pipeline/batch-20260513-171504-358e9a ===
[Feishu] No successful songs to export.
[exit 0]

=== 2026-05-13 17:18:46 exec: /usr/bin/python3 /srv/current/3000music-platform-next/services/music-pipeline/scripts/pipeline.py /srv/music-files-platform-next/pipeline/batch-20260513-171504-358e9a/_input.json -o /srv/music-files-platform-next/pipeline/batch-20260513-171504-358e9a -cg 2 -cs 2 --skip-feishu --profile __runtime_batch-20260513-171504-358e9a --resume /srv/music-files-platform-next/pipeline/batch-20260513-171504-358e9a ===
[profile] ✅ Loaded profile '__runtime_batch-20260513-171504-358e9a' from /srv/repos/3000music-platform-next/services/music-pipeline/scripts/profiles/__runtime_batch-20260513-171504-358e9a.yaml

=== 2026-05-13 17:18:48 exec: /usr/bin/python3 /srv/current/3000music-platform-next/services/music-pipeline/scripts/pipeline.py /srv/music-files-platform-next/pipeline/batch-20260513-171504-358e9a/_input.json -o /srv/music-files-platform-next/pipeline/batch-20260513-171504-358e9a -cg 2 -cs 2 --skip-feishu --profile __runtime_batch-20260513-171504-358e9a --resume /srv/music-files-platform-next/pipeline/batch-20260513-171504-358e9a ===

======================================================================
music-pipeline3000 v2 | 2 songs
======================================================================
Gemini concurrency: 2 | Suno concurrency: 2
Output: /srv/music-files-platform-next/pipeline/batch-20260513-171504-358e9a
Skip Suno: False | Step1 only: False | Version: v4
======================================================================

[17:18:48] 🏥 Health check...
[17:18:49] ✅ qishui: OK
[17:18:49] ✅ netease: OK
[17:18:49] ✅ qq: OK

[17:18:49] 🧠 [01_Joy In The Morning (Original Mix)_20260513] Step 1: Gemini (queuing)...
{"__trace__": true, "ts": "2026-05-13T09:18:49.976Z", "trace_id": "batch-20260513-171504-358e9a", "song_key": "01_Joy In The Morning (Original Mix)_20260513", "step": "step1", "type": "step_start", "inputs": {"audio": "/srv/music-files-platform-next/pipeline/batch-20260513-171504-358e9a/01_Joy In The Morning (Original Mix)_20260513/song_pgc.mp3", "has_features": true}}
[step1] 🎹 Instrumental mode — empty lyrics fallback
[17:18:50] 🧠 [02_Many Places_20260513] Step 1: Gemini (queuing)...
{"__trace__": true, "ts": "2026-05-13T09:18:50.098Z", "trace_id": "batch-20260513-171504-358e9a", "song_key": "02_Many Places_20260513", "step": "step1", "type": "step_start", "inputs": {"audio": "/srv/music-files-platform-next/pipeline/batch-20260513-171504-358e9a/02_Many Places_20260513/song_pgc.mp3", "has_features": true}}
[profile] ✅ Loaded profile '__runtime_batch-20260513-171504-358e9a' from /srv/repos/3000music-platform-next/services/music-pipeline/scripts/profiles/__runtime_batch-20260513-171504-358e9a.yaml

======================================================================
music-pipeline3000 v2 | 2 songs
======================================================================
Gemini concurrency: 2 | Suno concurrency: 2
Output: /srv/music-files-platform-next/pipeline/batch-20260513-171504-358e9a
Skip Suno: False | Step1 only: False | Version: v4
======================================================================

[17:18:50] 🏥 Health check...
[17:18:51] ✅ qishui: OK
[17:18:51] ✅ netease: OK
[17:18:51] ✅ qq: OK

[17:18:51] 🧠 [01_Joy In The Morning (Original Mix)_20260513] Step 1: Gemini (queuing)...
{"__trace__": true, "ts": "2026-05-13T09:18:51.919Z", "trace_id": "batch-20260513-171504-358e9a", "song_key": "01_Joy In The Morning (Original Mix)_20260513", "step": "step1", "type": "step_start", "inputs": {"audio": "/srv/music-files-platform-next/pipeline/batch-20260513-171504-358e9a/01_Joy In The Morning (Original Mix)_20260513/song_pgc.mp3", "has_features": true}}
[step1] 🎹 Instrumental mode — empty lyrics fallback
[17:18:52] 🧠 [02_Many Places_20260513] Step 1: Gemini (queuing)...
{"__trace__": true, "ts": "2026-05-13T09:18:52.044Z", "trace_id": "batch-20260513-171504-358e9a", "song_key": "02_Many Places_20260513", "step": "step1", "type": "step_start", "inputs": {"audio": "/srv/music-files-platform-next/pipeline/batch-20260513-171504-358e9a/02_Many Places_20260513/song_pgc.mp3", "has_features": true}}
  ⚠️ Gemini official 503 on key #1/5, will retry...
  🔄 Retry 1/4 in 3s...
  ⚠️ Gemini official 503 on key #1/5, will retry...
  🔄 Retry 1/4 in 3s...
  ⚠️ Gemini official 503 on key #2/5, will retry...
  🔄 Retry 2/4 in 3s...
  ⚠️ Gemini official 503 on key #2/5, will retry...
  🔄 Retry 2/4 in 3s...
  ⚠️ Gemini official 503 on key #3/5, will retry...
  🔄 Retry 3/4 in 3s...
  ⚠️ Gemini official 503 on key #3/5, will retry...
  🔄 Retry 3/4 in 3s...
  ⚠️ Gemini official 503 on key #4/5, will retry...
  🔄 Retry 4/4 in 3s...
  ⚠️ Gemini official 503 on key #4/5, will retry...
  🔄 Retry 4/4 in 3s...
  ⚠️ Gemini official 503 on key #5/5, will retry...
{"__trace__": true, "ts": "2026-05-13T09:19:38.305Z", "trace_id": "batch-20260513-171504-358e9a", "song_key": "02_Many Places_20260513", "step": "step1", "type": "api_call", "provider": "gemini", "model": "gemini-2.5-pro", "duration_sec": 10.9, "cost_usd": null, "status": "http_503"}
{"__trace__": true, "ts": "2026-05-13T09:19:38.306Z", "trace_id": "batch-20260513-171504-358e9a", "song_key": "02_Many Places_20260513", "step": "step1", "type": "step_end", "status": "success", "duration_sec": 48.208}
[17:19:38] ❌ [02_Many Places_20260513] Step 1: http_503 (10.9s)
  📊 Gemini official: 44s | prompt_tokens=12793 completion=763
{"__trace__": true, "ts": "2026-05-13T09:20:07.835Z", "trace_id": "batch-20260513-171504-358e9a", "song_key": "01_Joy In The Morning (Original Mix)_20260513", "step": "step1", "type": "api_call", "provider": "gemini", "model": "gemini-2.5-pro", "duration_sec": 44.2, "cost_usd": null, "status": "success"}
{"__trace__": true, "ts": "2026-05-13T09:20:07.835Z", "trace_id": "batch-20260513-171504-358e9a", "song_key": "01_Joy In The Morning (Original Mix)_20260513", "step": "step1", "type": "step_end", "status": "success", "duration_sec": 77.859}
  ⚠️ Gemini official 503 on key #1/5, will retry...
  🔄 Retry 1/4 in 3s...
  ⚠️ Gemini official 503 on key #1/5, will retry...
  🔄 Retry 1/4 in 3s...
  ⚠️ Gemini official 503 on key #2/5, will retry...
  🔄 Retry 2/4 in 3s...
  ⚠️ Gemini official 503 on key #2/5, will retry...
  🔄 Retry 2/4 in 3s...
  ⚠️ Gemini official 503 on key #3/5, will retry...
  🔄 Retry 3/4 in 3s...
  ⚠️ Gemini official 503 on key #3/5, will retry...
  🔄 Retry 3/4 in 3s...
  ⚠️ Gemini official 503 on key #4/5, will retry...
  🔄 Retry 4/4 in 3s...
  ⚠️ Gemini official 503 on key #4/5, will retry...
  🔄 Retry 4/4 in 3s...
  📊 Gemini official: 36s | prompt_tokens=12793 completion=1076
{"__trace__": true, "ts": "2026-05-13T09:20:26.037Z", "trace_id": "batch-20260513-171504-358e9a", "song_key": "01_Joy In The Morning (Original Mix)_20260513", "step": "step1", "type": "api_call", "provider": "gemini", "model": "gemini-2.5-pro", "duration_sec": 36.4, "cost_usd": null, "status": "success"}
{"__trace__": true, "ts": "2026-05-13T09:20:26.037Z", "trace_id": "batch-20260513-171504-358e9a", "song_key": "01_Joy In The Morning (Original Mix)_20260513", "step": "step1", "type": "step_end", "status": "success", "duration_sec": 94.118}
[17:20:26] ✅ [01_Joy In The Morning (Original Mix)_20260513] Step 1: 36.4s | prompt=758c | prompt_ok=True lyrics_ok=True
[17:20:26] ✅ [01_Joy In The Morning (Original Mix)_20260513] Step 2.5: originality 100% ✓
[17:20:26] ✅ [01_Joy In The Morning (Original Mix)_20260513] Step 2: 《01_Joy In The Morning (Original Mix)_20260513》
[17:20:26] 📁 [01_Joy In The Morning (Original Mix)_20260513] Renamed → 01_Joy In The Morning (Original Mix)_01_Joy_In_The_Morning_(Original_Mix)_20260513_20260513
[17:20:26] ♪ [01_Joy In The Morning (Original Mix)_01_Joy_In_The_Morning_(Original_Mix)_20260513_20260513] Step 3: 原曲无有效歌词，自动切换纯音乐模式
[17:20:26] 🎵 [01_Joy In The Morning (Original Mix)_01_Joy_In_The_Morning_(Original_Mix)_20260513_20260513] Step 3: Suno generation (weirdness=50, style_influence=50 · 纯音乐)...
[17:20:26] 🎨 [01_Joy In The Morning (Original Mix)_01_Joy_In_The_Morning_(Original_Mix)_20260513_20260513] Step 4: SeeDream cover (parallel)...
  ✅ submitted: ['7f5add2c', 'e3c25aa7']
  🎵 7f5add2c... → submitted
  🎵 e3c25aa7... → submitted
  📊 Gemini official: 53s | prompt_tokens=14272 completion=1377
{"__trace__": true, "ts": "2026-05-13T09:20:29.207Z", "trace_id": "batch-20260513-171504-358e9a", "song_key": "02_Many Places_20260513", "step": "step1", "type": "api_call", "provider": "gemini", "model": "gemini-2.5-pro", "duration_sec": 53.5, "cost_usd": null, "status": "success"}
{"__trace__": true, "ts": "2026-05-13T09:20:29.208Z", "trace_id": "batch-20260513-171504-358e9a", "song_key": "02_Many Places_20260513", "step": "step1", "type": "step_end", "status": "success", "duration_sec": 97.163}
[17:20:07] ✅ [01_Joy In The Morning (Original Mix)_20260513] Step 1: 44.2s | prompt=818c | prompt_ok=True lyrics_ok=True
[17:20:07] ♪ [01_Joy In The Morning (Original Mix)_20260513] Step 2: 跳过（纯音乐，无需生成歌词）
[17:20:07] ♪ [01_Joy In The Morning (Original Mix)_20260513] Step 3: 原曲无有效歌词，自动切换纯音乐模式
[17:20:07] 🎵 [01_Joy In The Morning (Original Mix)_20260513] Step 3: Suno generation (weirdness=50, style_influence=50 · 纯音乐)...
[17:20:07] 🎨 [01_Joy In The Morning (Original Mix)_20260513] Step 4: SeeDream cover (parallel)...
  ✅ submitted: ['d5afcf7f', '7b4b6d72']
  🎵 d5afcf7f... → submitted
  🎵 7b4b6d72... → submitted
  🎵 d5afcf7f... → queued
  🎵 7b4b6d72... → queued
  🎵 d5afcf7f... → streaming
  🎵 7b4b6d72... → streaming
  🎵 7b4b6d72... → complete
  🎵 d5afcf7f... → complete
Traceback (most recent call last):
  File "/srv/current/3000music-platform-next/services/music-pipeline/scripts/pipeline.py", line 1071, in <module>
    main()
    ~~~~^^
  File "/srv/current/3000music-platform-next/services/music-pipeline/scripts/pipeline.py", line 1058, in main
    asyncio.run(run_pipeline(
    ~~~~~~~~~~~^^^^^^^^^^^^^^
        songs, output_dir,
        ^^^^^^^^^^^^^^^^^^
    ...<6 lines>...
        target_language=args.target_language,
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ))
    ^^
  File "/usr/lib/python3.13/asyncio/runners.py", line 195, in run
    return runner.run(main)
           ~~~~~~~~~~^^^^^^
  File "/usr/lib/python3.13/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
  File "/usr/lib/python3.13/asyncio/base_events.py", line 725, in run_until_complete
    return future.result()
           ~~~~~~~~~~~~~^^
  File "/srv/current/3000music-platform-next/services/music-pipeline/scripts/pipeline.py", line 940, in run_pipeline
    results = await asyncio.gather(*tasks)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/srv/current/3000music-platform-next/services/music-pipeline/scripts/pipeline.py", line 827, in run_song
    (song_dir / "step3_suno.json").write_text(json.dumps(s3_result, ensure_ascii=False, indent=2))
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/pathlib/_local.py", line 557, in write_text
    return PathBase.write_text(self, data, encoding, errors, newline)
           ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/pathlib/_abc.py", line 651, in write_text
    with self.open(mode='w', encoding=encoding, errors=errors, newline=newline) as f:
         ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/pathlib/_local.py", line 539, in open
    return io.open(self, mode, buffering, encoding, errors, newline)
           ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/srv/music-files-platform-next/pipeline/batch-20260513-171504-358e9a/01_Joy In The Morning (Original Mix)_20260513/step3_suno.json'
[exit 1]
[17:20:29] ⚠️  [02_Many Places_20260513] Step 1.5: prompt 1177c > 1000c, compressing...
  📏 [02_Many Places_20260513] prompt 1177c → 835c (smart truncate)
[17:20:29] ✅ [02_Many Places_20260513] Step 1.5: prompt compressed 1177c → 835c
[17:20:29] ✅ [02_Many Places_20260513] Step 1: 53.5s | prompt=835c | prompt_ok=True lyrics_ok=True
[17:20:29] ♪ [02_Many Places_20260513] Step 2: 跳过（纯音乐，无需生成歌词）
[17:20:29] ♪ [02_Many Places_20260513] Step 3: 原曲无有效歌词，自动切换纯音乐模式
[17:20:29] 🎵 [02_Many Places_20260513] Step 3: Suno generation (weirdness=50, style_influence=50 · 纯音乐)...
[17:20:29] 🎨 [02_Many Places_20260513] Step 4: SeeDream cover (parallel)...
  ✅ submitted: ['8f79db63', 'a8c61fa8']
  🎵 8f79db63... → submitted
  🎵 a8c61fa8... → submitted
  🎵 7f5add2c... → queued
  🎵 e3c25aa7... → queued
  🎵 8f79db63... → queued
  🎵 a8c61fa8... → queued
  🎵 a8c61fa8... → streaming
  🎵 7f5add2c... → streaming
  🎵 e3c25aa7... → streaming
  🎵 7f5add2c... → complete
  🎵 e3c25aa7... → complete
[17:21:45]    🎧 [01_Joy In The Morning (Original Mix)_01_Joy_In_The_Morning_(Original_Mix)_20260513_20260513] Song 1: https://cdn1.suno.ai/7f5add2c-fa97-4317-a04e-80ab8f2a7f4e.mp3
[17:21:45]    🎧 [01_Joy In The Morning (Original Mix)_01_Joy_In_The_Morning_(Original_Mix)_20260513_20260513] Song 2: https://cdn1.suno.ai/e3c25aa7-f043-456c-91e8-f5ed05baa6d7.mp3
[17:21:45] 🎛️ [01_Joy In The Morning (Original Mix)_01_Joy_In_The_Morning_(Original_Mix)_20260513_20260513] Step 3.5: 混音...
[17:21:58]    🎚️ [01_Joy In The Morning (Original Mix)_01_Joy_In_The_Morning_(Original_Mix)_20260513_20260513] Song 1: rnb | 低94/中6/高1%
[17:22:08]    🎚️ [01_Joy In The Morning (Original Mix)_01_Joy_In_The_Morning_(Original_Mix)_20260513_20260513] Song 2: rnb | 低89/中11/高0%
[17:22:08] ✅ [01_Joy In The Morning (Original Mix)_01_Joy_In_The_Morning_(Original_Mix)_20260513_20260513] Step 3.5: 22.9s | 2 songs mixed
[17:22:08] ⚠️  [01_Joy In The Morning (Original Mix)_01_Joy_In_The_Morning_(Original_Mix)_20260513_20260513] Step 4: http_403 (non-fatal)
  🎵 8f79db63... → complete
  🎵 a8c61fa8... → complete
[17:28:07]    🎧 [02_Many Places_20260513] Song 1: https://cdn1.suno.ai/8f79db63-bd65-4154-ab71-ba9e341a2a55.mp3
[17:28:07]    🎧 [02_Many Places_20260513] Song 2: https://cdn1.suno.ai/a8c61fa8-521f-409d-a8e1-5a237d9c1737.mp3
[17:28:07] 🎛️ [02_Many Places_20260513] Step 3.5: 混音...
[17:28:42]    🎚️ [02_Many Places_20260513] Song 1: edm | 低72/中26/高2%
[17:29:16]    🎚️ [02_Many Places_20260513] Song 2: edm | 低75/中24/高2%
[17:29:16] ✅ [02_Many Places_20260513] Step 3.5: 68.6s | 2 songs mixed
[17:29:16] ⚠️  [02_Many Places_20260513] Step 4: http_403 (non-fatal)

======================================================================
SUMMARY | 624s (10.4min)
======================================================================
✅ Done: 2 | ⏳ Awaiting Step 2: 0 | ❌ Failed: 0
[MasterDB] ✅ 批次 batch-20260513-171504-358e9a → +2 新增, ~0 更新 | 总计 752 首
[exit 0]
