Update app.py
Browse files
app.py
CHANGED
@@ -74,7 +74,9 @@ else:
|
|
74 |
poll_result = poll_response.json()
|
75 |
if poll_result.get("done"):
|
76 |
print("Job finished.")
|
77 |
-
|
|
|
|
|
78 |
response_data = poll_result.get("response", {})
|
79 |
if "videos" in response_data and response_data["videos"]:
|
80 |
video_base64 = response_data["videos"][0]["bytesBase64Encoded"]
|
@@ -83,21 +85,16 @@ else:
|
|
83 |
yield "Status: Done!", "generated_video.mp4"
|
84 |
return
|
85 |
else:
|
86 |
-
# <<< START: IMPROVED ERROR HANDLING >>>
|
87 |
error_message = "Video generation failed."
|
88 |
-
# Check for a specific error message in the operation response
|
89 |
if "error" in poll_result:
|
90 |
error_details = poll_result["error"].get("message", "No details provided.")
|
91 |
error_message += f"\nAPI Error: {error_details}"
|
92 |
-
# Check for a specific RAI reason
|
93 |
elif "raiResult" in response_data:
|
94 |
rai_reason = response_data.get("raiMediaFilteredReason", "Unknown reason.")
|
95 |
error_message += f"\nReason: Content was blocked by safety filters ({rai_reason})."
|
96 |
else:
|
97 |
error_message += "\nReason: The API did not return a video or a specific error."
|
98 |
-
|
99 |
raise gr.Error(error_message)
|
100 |
-
# <<< END: IMPROVED ERROR HANDLING >>>
|
101 |
time.sleep(10)
|
102 |
raise gr.Error("Operation timed out.")
|
103 |
except Exception as e:
|
|
|
74 |
poll_result = poll_response.json()
|
75 |
if poll_result.get("done"):
|
76 |
print("Job finished.")
|
77 |
+
# <<< CHANGE: The debugging line below is now commented out for cleaner logs. >>>
|
78 |
+
# print(f"Full response payload: {json.dumps(poll_result, indent=2)}")
|
79 |
+
|
80 |
response_data = poll_result.get("response", {})
|
81 |
if "videos" in response_data and response_data["videos"]:
|
82 |
video_base64 = response_data["videos"][0]["bytesBase64Encoded"]
|
|
|
85 |
yield "Status: Done!", "generated_video.mp4"
|
86 |
return
|
87 |
else:
|
|
|
88 |
error_message = "Video generation failed."
|
|
|
89 |
if "error" in poll_result:
|
90 |
error_details = poll_result["error"].get("message", "No details provided.")
|
91 |
error_message += f"\nAPI Error: {error_details}"
|
|
|
92 |
elif "raiResult" in response_data:
|
93 |
rai_reason = response_data.get("raiMediaFilteredReason", "Unknown reason.")
|
94 |
error_message += f"\nReason: Content was blocked by safety filters ({rai_reason})."
|
95 |
else:
|
96 |
error_message += "\nReason: The API did not return a video or a specific error."
|
|
|
97 |
raise gr.Error(error_message)
|
|
|
98 |
time.sleep(10)
|
99 |
raise gr.Error("Operation timed out.")
|
100 |
except Exception as e:
|