Spaces:
Running on Zero
Running on Zero
feat: update api server data
Browse files- 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 |
-
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 754 |
for p in audio_paths
|
| 755 |
]
|
| 756 |
else:
|
| 757 |
-
result_data = [{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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 |
-
#
|
| 1114 |
-
|
| 1115 |
-
|
| 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 |
-
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1501 |
for p in audio_paths
|
| 1502 |
-
] if audio_paths else [{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1503 |
else:
|
| 1504 |
-
result_data = [{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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,
|