
=== 2026-05-12 15:01:56 exec: /usr/bin/python3 /srv/current/3000music-platform-next/services/music-pipeline/scripts/pipeline.py /srv/music-files-platform-next/pipeline/batch-20260512-150156-16bc7a/_input.json -o /srv/music-files-platform-next/pipeline/batch-20260512-150156-16bc7a -cg 2 -cs 2 --skip-feishu --profile grammy --step1-only ===
[profile] ✅ Loaded profile 'grammy' from /srv/repos/3000music-platform-next/services/music-pipeline/scripts/profiles/grammy.yaml
[step075] cache hit: song_pgc.mp3 → ca9617abdd1f

======================================================================
music-pipeline3000 v2 | 3 songs
======================================================================
Gemini concurrency: 2 | Suno concurrency: 2
Output: /srv/music-files-platform-next/pipeline/batch-20260512-150156-16bc7a
Skip Suno: False | Step1 only: True | Version: v4
======================================================================

[15:01:57] 🏥 Health check...
[15:01:59] ✅ qishui: OK
[15:01:59] ✅ netease: OK
[15:01:59] ✅ qq: OK

[15:01:59] 🔍 [01_Espresso_20260512] Step 0: Fetching...
[15:01:59] 🔍 [02_A Bar Song (Tipsy)_20260512] Step 0: Fetching...
[15:01:59] 🔍 [03_Normal No More_20260512] Step 0: Fetching...
[15:02:02] ✅ [03_Normal No More_20260512] Step 0: netease | 1520c lyrics
[15:02:02] ⬇️  [03_Normal No More_20260512] Step 0.5: Download from netease...
[15:02:02] ✅ [02_A Bar Song (Tipsy)_20260512] Step 0: netease | 2317c lyrics
[15:02:02] ⬇️  [02_A Bar Song (Tipsy)_20260512] Step 0.5: Download from netease...
[15:02:03] ✅ [01_Espresso_20260512] Step 0: netease | 2094c lyrics
[15:02:03] ⬇️  [01_Espresso_20260512] Step 0.5: Download from netease...
[15:02:08] ✅ [03_Normal No More_20260512] Step 0.5: 3802772 bytes | 199.6s
[15:02:08] 🔬 [03_Normal No More_20260512] Step 0.75: Audio features...
[15:02:08] ✅ [03_Normal No More_20260512] Step 0.75: BPM=94.97 Key=G major (23.3s)
[15:02:08] 🧠 [03_Normal No More_20260512] Step 1: Gemini (queuing)...
{"__trace__": true, "ts": "2026-05-12T07:02:08.136Z", "trace_id": "batch-20260512-150156-16bc7a", "song_key": "03_Normal No More_20260512", "step": "step1", "type": "step_start", "inputs": {"audio": "/srv/music-files-platform-next/pipeline/batch-20260512-150156-16bc7a/03_Normal No More_20260512/song_pgc.mp3", "has_features": true}}
[step075] cache hit: song_pgc.mp3 → 0ac0cd4c0760
[15:02:08] ✅ [02_A Bar Song (Tipsy)_20260512] Step 0.5: 3504541 bytes | 171.3s
[15:02:08] 🔬 [02_A Bar Song (Tipsy)_20260512] Step 0.75: Audio features...
[15:02:08] ✅ [02_A Bar Song (Tipsy)_20260512] Step 0.75: BPM=162.73 Key=F# minor (32.7s)
[15:02:08] 🧠 [02_A Bar Song (Tipsy)_20260512] Step 1: Gemini (queuing)...
{"__trace__": true, "ts": "2026-05-12T07:02:08.423Z", "trace_id": "batch-20260512-150156-16bc7a", "song_key": "02_A Bar Song (Tipsy)_20260512", "step": "step1", "type": "step_start", "inputs": {"audio": "/srv/music-files-platform-next/pipeline/batch-20260512-150156-16bc7a/02_A Bar Song (Tipsy)_20260512/song_pgc.mp3", "has_features": true}}
[step1] cache hit: song_pgc.mp3 → ecc99a8bab02 (saving 1 Gemini call)
{"__trace__": true, "ts": "2026-05-12T07:02:08.457Z", "trace_id": "batch-20260512-150156-16bc7a", "song_key": "02_A Bar Song (Tipsy)_20260512", "step": "step1", "type": "api_call", "provider": "gemini", "model": "gemini-2.5-pro", "duration_sec": 61.4, "cost_usd": null, "status": "success"}
{"__trace__": true, "ts": "2026-05-12T07:02:08.457Z", "trace_id": "batch-20260512-150156-16bc7a", "song_key": "02_A Bar Song (Tipsy)_20260512", "step": "step1", "type": "step_end", "status": "success", "duration_sec": 0.034}
[step075] cache hit: song_pgc.mp3 → c14d717593b8
[15:02:08] ⚠️  [02_A Bar Song (Tipsy)_20260512] Step 1.5: prompt 1158c > 1000c, compressing...
  📏 [02_A Bar Song (Tipsy)_20260512] prompt 1158c → 967c (smart truncate)
[15:02:08] ✅ [02_A Bar Song (Tipsy)_20260512] Step 1.5: prompt compressed 1158c → 967c
[15:02:08] ✅ [02_A Bar Song (Tipsy)_20260512] Step 1: 61.4s | prompt=967c | prompt_ok=True lyrics_ok=True
[15:02:08] ✅ [01_Espresso_20260512] Step 0.5: 3814928 bytes | 175.5s
[15:02:08] 🔬 [01_Espresso_20260512] Step 0.75: Audio features...
[15:02:08] ✅ [01_Espresso_20260512] Step 0.75: BPM=103.91 Key=A major (33.0s)
[15:02:08] 🧠 [01_Espresso_20260512] Step 1: Gemini (queuing)...
{"__trace__": true, "ts": "2026-05-12T07:02:08.479Z", "trace_id": "batch-20260512-150156-16bc7a", "song_key": "01_Espresso_20260512", "step": "step1", "type": "step_start", "inputs": {"audio": "/srv/music-files-platform-next/pipeline/batch-20260512-150156-16bc7a/01_Espresso_20260512/song_pgc.mp3", "has_features": true}}
[step1] cache hit: song_pgc.mp3 → ad2a54400999 (saving 1 Gemini call)
{"__trace__": true, "ts": "2026-05-12T07:02:08.510Z", "trace_id": "batch-20260512-150156-16bc7a", "song_key": "01_Espresso_20260512", "step": "step1", "type": "api_call", "provider": "gemini", "model": "gemini-2.5-pro", "duration_sec": 49.3, "cost_usd": null, "status": "success"}
{"__trace__": true, "ts": "2026-05-12T07:02:08.510Z", "trace_id": "batch-20260512-150156-16bc7a", "song_key": "01_Espresso_20260512", "step": "step1", "type": "step_end", "status": "success", "duration_sec": 0.031}
[15:02:08] ⚠️  [01_Espresso_20260512] Step 1.5: prompt 1156c > 1000c, compressing...
  📏 [01_Espresso_20260512] prompt 1156c → 984c (smart truncate)
[15:02:08] ✅ [01_Espresso_20260512] Step 1.5: prompt compressed 1156c → 984c
[15:02:08] ✅ [01_Espresso_20260512] Step 1: 49.3s | prompt=984c | prompt_ok=True lyrics_ok=True
  ⚠️ Gemini official 503 on key #1/5, will retry...
  🔄 Retry 1/4 in 3s...
  📊 Gemini official: 56s | prompt_tokens=9970 completion=1534
{"__trace__": true, "ts": "2026-05-12T07:03:09.525Z", "trace_id": "batch-20260512-150156-16bc7a", "song_key": "03_Normal No More_20260512", "step": "step1", "type": "api_call", "provider": "gemini", "model": "gemini-2.5-pro", "duration_sec": 56.2, "cost_usd": null, "status": "success"}
{"__trace__": true, "ts": "2026-05-12T07:03:09.526Z", "trace_id": "batch-20260512-150156-16bc7a", "song_key": "03_Normal No More_20260512", "step": "step1", "type": "step_end", "status": "success", "duration_sec": 61.389}
[15:03:09] ⚠️  [03_Normal No More_20260512] Step 1.5: prompt 1052c > 1000c, compressing...
  📏 [03_Normal No More_20260512] prompt 1052c → 946c (smart truncate)
[15:03:09] ✅ [03_Normal No More_20260512] Step 1.5: prompt compressed 1052c → 946c
[15:03:09] ✅ [03_Normal No More_20260512] Step 1: 56.2s | prompt=946c | prompt_ok=True lyrics_ok=True

======================================================================
SUMMARY | 70s (1.2min)
======================================================================
✅ Done: 3 | ⏳ Awaiting Step 2: 0 | ❌ Failed: 0
[MasterDB] ✅ 批次 batch-20260512-150156-16bc7a → +0 新增, ~0 更新 | 总计 664 首
[exit 0]

=== 2026-05-12 15:03:09 exec: /usr/bin/python3 /srv/current/3000music-platform-next/services/music-pipeline/scripts/orchestrate_phase2.py /srv/music-files-platform-next/pipeline/batch-20260512-150156-16bc7a --profile grammy --resume-mode each --skip-feishu ===
[phase2] batch=batch-20260512-150156-16bc7a pending=3 groups=1
[phase2] group 1/1 -> 01_Espresso_20260512, 02_A Bar Song (Tipsy)_20260512, 03_Normal No More_20260512
[profile] ✅ Loaded profile 'grammy' from /srv/repos/3000music-platform-next/services/music-pipeline/scripts/profiles/grammy.yaml
[phase2] 🌐 01_Espresso_20260512: target_language=auto
[profile] ✅ Loaded profile 'grammy' from /srv/repos/3000music-platform-next/services/music-pipeline/scripts/profiles/grammy.yaml
[phase2] 🌐 02_A Bar Song (Tipsy)_20260512: target_language=auto
[profile] ✅ Loaded profile 'grammy' from /srv/repos/3000music-platform-next/services/music-pipeline/scripts/profiles/grammy.yaml
[phase2] 🌐 03_Normal No More_20260512: target_language=auto
[phase2] resume -> /usr/bin/python3 /srv/repos/3000music-platform-next/services/music-pipeline/scripts/pipeline.py /srv/music-files-platform-next/pipeline/batch-20260512-150156-16bc7a/_manifest.json --resume /srv/music-files-platform-next/pipeline/batch-20260512-150156-16bc7a --profile grammy --skip-feishu
[exit -15]
