diff --git a/backend/app/services/chat_service.py b/backend/app/services/chat_service.py index 3532aad..a22e0eb 100644 --- a/backend/app/services/chat_service.py +++ b/backend/app/services/chat_service.py @@ -731,10 +731,12 @@ async def _tool_find_product_renders( ot.name AS output_type, ot.transparent_bg, ot.output_format, ot.is_animation, ot.material_override AS ot_material_override, - ot.render_settings->>'width' AS ot_width, - ot.render_settings->>'height' AS ot_height, - ot.render_settings->>'engine' AS ot_engine, - ot.render_settings->>'samples' AS ot_samples, + COALESCE(ol.render_log->>'width', ot.render_settings->>'width') AS ot_width, + COALESCE(ol.render_log->>'height', ot.render_settings->>'height') AS ot_height, + COALESCE(ol.render_log->>'engine_used', ol.render_log->>'engine', ot.render_settings->>'engine') AS ot_engine, + COALESCE(ol.render_log->>'samples', ot.render_settings->>'samples') AS ot_samples, + ol.render_log->>'type' AS render_type, + ol.render_log->>'template' AS template_used, ol.material_override AS line_material_override, ol.render_overrides, ol.result_path, ol.id AS line_id, @@ -775,6 +777,7 @@ async def _tool_find_product_renders( "order_number": r["order_number"], "order_id": str(r["order_id"]), "output_type": r["output_type"], + "render_type": r.get("render_type") or ("animation" if r["is_animation"] else "still"), "output_format": overrides.get("output_format") or r["output_format"], "transparent_bg": r["transparent_bg"], "is_animation": r["is_animation"], @@ -782,6 +785,7 @@ async def _tool_find_product_renders( "engine": overrides.get("engine") or r["ot_engine"], "samples": overrides.get("samples") or r["ot_samples"], "material_override": material, + "has_template": bool(r.get("template_used")), "image_url": url, "line_id": str(r["line_id"]), "rendered_at": str(r["render_completed_at"]),