Spaces:
Sleeping
Sleeping
feat: ensure image generation for ending scenes
Browse files- src/agent/runner.py +12 -1
src/agent/runner.py
CHANGED
|
@@ -53,8 +53,19 @@ async def process_step(
|
|
| 53 |
ending_info["description"] = e.description
|
| 54 |
break
|
| 55 |
|
| 56 |
-
ending_desc = ending_info.get("description") or ending_info.get(
|
|
|
|
|
|
|
| 57 |
change_scene = await generate_image_prompt(ending_desc, user_hash)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 58 |
image_path = await generate_scene_image.ainvoke(
|
| 59 |
{
|
| 60 |
"user_hash": user_hash,
|
|
|
|
| 53 |
ending_info["description"] = e.description
|
| 54 |
break
|
| 55 |
|
| 56 |
+
ending_desc = ending_info.get("description") or ending_info.get(
|
| 57 |
+
"condition", ""
|
| 58 |
+
)
|
| 59 |
change_scene = await generate_image_prompt(ending_desc, user_hash)
|
| 60 |
+
# Ensure the ending always has an image. The image agent may occasionally
|
| 61 |
+
# decide that no scene change is required, which would result in no
|
| 62 |
+
# image generation. For endings we always want an image, so override the
|
| 63 |
+
# decision if needed.
|
| 64 |
+
if change_scene.change_scene == "no_change":
|
| 65 |
+
change_scene.change_scene = "change_completely"
|
| 66 |
+
if not change_scene.scene_description:
|
| 67 |
+
change_scene.scene_description = ending_desc
|
| 68 |
+
|
| 69 |
image_path = await generate_scene_image.ainvoke(
|
| 70 |
{
|
| 71 |
"user_hash": user_hash,
|