ChuxiJ commited on
Commit
8e83122
·
1 Parent(s): 2d5e35a

feat: update api server data

Browse files
Files changed (1) hide show
  1. acestep/api_server.py +95 -10
acestep/api_server.py CHANGED
@@ -748,13 +748,62 @@ def create_app() -> FastAPI:
748
 
749
  if status == "succeeded" and result:
750
  audio_paths = result.get("audio_paths", [])
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
751
  if audio_paths:
752
  result_data = [
753
- {"file": p, "wave": "", "status": status_int, "create_time": int(create_time), "env": env}
 
 
 
 
 
 
 
 
 
 
 
 
 
754
  for p in audio_paths
755
  ]
756
  else:
757
- result_data = [{"file": "", "wave": "", "status": status_int, "create_time": int(create_time), "env": env}]
 
 
 
 
 
 
 
 
 
 
 
 
 
758
  else:
759
  result_data = [{"file": "", "wave": "", "status": status_int, "create_time": int(create_time), "env": env}]
760
 
@@ -890,6 +939,10 @@ def create_app() -> FastAPI:
890
  key_scale = req.key_scale
891
  time_signature = req.time_signature
892
  audio_duration = req.audio_duration
 
 
 
 
893
 
894
  if sample_mode or has_sample_query:
895
  if has_sample_query:
@@ -1110,11 +1163,9 @@ def create_app() -> FastAPI:
1110
  elif time_signature:
1111
  metas_out["timesignature"] = time_signature
1112
 
1113
- # Ensure caption and lyrics are in metas
1114
- if caption:
1115
- metas_out["caption"] = caption
1116
- if lyrics:
1117
- metas_out["lyrics"] = lyrics
1118
 
1119
  # Extract seed values for response (comma-separated for multiple audios)
1120
  seed_values = []
@@ -1155,6 +1206,10 @@ def create_app() -> FastAPI:
1155
  "generation_info": generation_info,
1156
  "status_message": result.status_message,
1157
  "seed_value": seed_value,
 
 
 
 
1158
  "metas": metas_out,
1159
  "bpm": metas_out.get("bpm") if isinstance(metas_out.get("bpm"), int) else None,
1160
  "duration": metas_out.get("duration") if isinstance(metas_out.get("duration"), (int, float)) else None,
@@ -1496,12 +1551,42 @@ def create_app() -> FastAPI:
1496
 
1497
  if rec.result and rec.status == "succeeded":
1498
  audio_paths = rec.result.get("audio_paths", [])
 
1499
  result_data = [
1500
- {"file": p, "wave": "", "status": status_int, "create_time": int(create_time), "env": env}
 
 
 
 
 
 
 
 
 
 
 
 
1501
  for p in audio_paths
1502
- ] if audio_paths else [{"file": "", "wave": "", "status": status_int, "create_time": int(create_time), "env": env}]
 
 
 
 
 
 
 
 
 
 
 
 
1503
  else:
1504
- result_data = [{"file": "", "wave": "", "status": status_int, "create_time": int(create_time), "env": env}]
 
 
 
 
 
1505
 
1506
  data_list.append({
1507
  "task_id": task_id,
 
748
 
749
  if status == "succeeded" and result:
750
  audio_paths = result.get("audio_paths", [])
751
+ # Final prompt/lyrics (may be modified by thinking/format)
752
+ final_prompt = result.get("prompt", "")
753
+ final_lyrics = result.get("lyrics", "")
754
+ # Original user input from metas
755
+ metas_raw = result.get("metas", {}) or {}
756
+ original_prompt = metas_raw.get("prompt", "")
757
+ original_lyrics = metas_raw.get("lyrics", "")
758
+ # metas contains original input + other metadata
759
+ metas = {
760
+ "bpm": metas_raw.get("bpm"),
761
+ "duration": metas_raw.get("duration"),
762
+ "genres": metas_raw.get("genres", ""),
763
+ "keyscale": metas_raw.get("keyscale", ""),
764
+ "timesignature": metas_raw.get("timesignature", ""),
765
+ "prompt": original_prompt,
766
+ "lyrics": original_lyrics,
767
+ }
768
+ # Extra fields for Discord bot
769
+ generation_info = result.get("generation_info", "")
770
+ seed_value = result.get("seed_value", "")
771
+ lm_model = result.get("lm_model", "")
772
+ dit_model = result.get("dit_model", "")
773
+
774
  if audio_paths:
775
  result_data = [
776
+ {
777
+ "file": p,
778
+ "wave": "",
779
+ "status": status_int,
780
+ "create_time": int(create_time),
781
+ "env": env,
782
+ "prompt": final_prompt,
783
+ "lyrics": final_lyrics,
784
+ "metas": metas,
785
+ "generation_info": generation_info,
786
+ "seed_value": seed_value,
787
+ "lm_model": lm_model,
788
+ "dit_model": dit_model,
789
+ }
790
  for p in audio_paths
791
  ]
792
  else:
793
+ result_data = [{
794
+ "file": "",
795
+ "wave": "",
796
+ "status": status_int,
797
+ "create_time": int(create_time),
798
+ "env": env,
799
+ "prompt": final_prompt,
800
+ "lyrics": final_lyrics,
801
+ "metas": metas,
802
+ "generation_info": generation_info,
803
+ "seed_value": seed_value,
804
+ "lm_model": lm_model,
805
+ "dit_model": dit_model,
806
+ }]
807
  else:
808
  result_data = [{"file": "", "wave": "", "status": status_int, "create_time": int(create_time), "env": env}]
809
 
 
939
  key_scale = req.key_scale
940
  time_signature = req.time_signature
941
  audio_duration = req.audio_duration
942
+
943
+ # Save original user input for metas
944
+ original_prompt = req.prompt or ""
945
+ original_lyrics = req.lyrics or ""
946
 
947
  if sample_mode or has_sample_query:
948
  if has_sample_query:
 
1163
  elif time_signature:
1164
  metas_out["timesignature"] = time_signature
1165
 
1166
+ # Store original user input in metas (not the final/modified values)
1167
+ metas_out["prompt"] = original_prompt
1168
+ metas_out["lyrics"] = original_lyrics
 
 
1169
 
1170
  # Extract seed values for response (comma-separated for multiple audios)
1171
  seed_values = []
 
1206
  "generation_info": generation_info,
1207
  "status_message": result.status_message,
1208
  "seed_value": seed_value,
1209
+ # Final prompt/lyrics (may be modified by thinking/format)
1210
+ "prompt": caption or "",
1211
+ "lyrics": lyrics or "",
1212
+ # metas contains original user input + other metadata
1213
  "metas": metas_out,
1214
  "bpm": metas_out.get("bpm") if isinstance(metas_out.get("bpm"), int) else None,
1215
  "duration": metas_out.get("duration") if isinstance(metas_out.get("duration"), (int, float)) else None,
 
1551
 
1552
  if rec.result and rec.status == "succeeded":
1553
  audio_paths = rec.result.get("audio_paths", [])
1554
+ metas = rec.result.get("metas", {}) or {}
1555
  result_data = [
1556
+ {
1557
+ "file": p, "wave": "", "status": status_int,
1558
+ "create_time": int(create_time), "env": env,
1559
+ "prompt": metas.get("caption", ""),
1560
+ "lyrics": metas.get("lyrics", ""),
1561
+ "metas": {
1562
+ "bpm": metas.get("bpm"),
1563
+ "duration": metas.get("duration"),
1564
+ "genres": metas.get("genres", ""),
1565
+ "keyscale": metas.get("keyscale", ""),
1566
+ "timesignature": metas.get("timesignature", ""),
1567
+ }
1568
+ }
1569
  for p in audio_paths
1570
+ ] if audio_paths else [{
1571
+ "file": "", "wave": "", "status": status_int,
1572
+ "create_time": int(create_time), "env": env,
1573
+ "prompt": metas.get("caption", ""),
1574
+ "lyrics": metas.get("lyrics", ""),
1575
+ "metas": {
1576
+ "bpm": metas.get("bpm"),
1577
+ "duration": metas.get("duration"),
1578
+ "genres": metas.get("genres", ""),
1579
+ "keyscale": metas.get("keyscale", ""),
1580
+ "timesignature": metas.get("timesignature", ""),
1581
+ }
1582
+ }]
1583
  else:
1584
+ result_data = [{
1585
+ "file": "", "wave": "", "status": status_int,
1586
+ "create_time": int(create_time), "env": env,
1587
+ "prompt": "", "lyrics": "",
1588
+ "metas": {}
1589
+ }]
1590
 
1591
  data_list.append({
1592
  "task_id": task_id,