From 2d98c4176b8baeed4f5f26578c96c54c49f7634b Mon Sep 17 00:00:00 2001 From: gahusb Date: Sat, 4 Apr 2026 12:50:46 +0900 Subject: [PATCH] =?UTF-8?q?music-lab:=20Suno=20=EB=94=94=EB=B2=84=EA=B9=85?= =?UTF-8?q?=20=EB=A1=9C=EA=B7=B8=EB=A5=BC=20print()=EB=A1=9C=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD=20(uvicorn=20=EB=A1=9C=EA=B7=B8=EC=97=90=20=ED=99=95?= =?UTF-8?q?=EC=8B=A4=ED=9E=88=20=EC=B6=9C=EB=A0=A5)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.6 --- music-lab/app/suno_provider.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/music-lab/app/suno_provider.py b/music-lab/app/suno_provider.py index 15b0d16..076ed1e 100644 --- a/music-lab/app/suno_provider.py +++ b/music-lab/app/suno_provider.py @@ -103,7 +103,7 @@ def run_suno_generation(task_id: str, params: dict) -> None: # ── 1단계: 곡 생성 요청 ── payload = _build_suno_payload(params) - logger.info("Suno generate request: %s", payload) + print(f"[SUNO DEBUG] generate payload: {payload}") resp = requests.post( f"{SUNO_BASE_URL}/generate", @@ -123,6 +123,7 @@ def run_suno_generation(task_id: str, params: dict) -> None: error=f"Suno API 거부: {body.get('msg', 'unknown error')}") return + print(f"[SUNO DEBUG] generate response: {body}") suno_task_id = body.get("data", {}).get("taskId", "") if not suno_task_id: update_task(task_id, "failed", 0, "", error="Suno 응답에 taskId가 없습니다") @@ -261,9 +262,9 @@ def _poll_until_complete(task_id: str, suno_task_id: str) -> Optional[list]: elif status == "FIRST_SUCCESS": update_task(task_id, "processing", max(progress, 60), "첫 번째 트랙 완료, 두 번째 생성 중...") elif status == "SUCCESS": - # 완료 — 트랙 추출 (응답 구조 디버깅용 로깅) - logger.info("Suno SUCCESS response data keys: %s", list(data.keys())) - logger.info("Suno SUCCESS full data: %s", body) + # 완료 — 트랙 추출 (디버깅용 print) + import json as _json + print(f"[SUNO DEBUG] SUCCESS response body: {_json.dumps(body, ensure_ascii=False, default=str)[:2000]}") tracks = data.get("sunoData") or data.get("data") or data.get("tracks") or [] # data 자체가 리스트일 수도 있음 if not tracks and isinstance(data, list):