feat(gtm): add aspect ratio & corporate design; fix(market): harden backend logging & json parsing

This commit is contained in:
2026-01-05 11:42:15 +00:00
parent 7cd90f77e3
commit aa1319856c
10 changed files with 241 additions and 169 deletions

View File

@@ -478,24 +478,22 @@ def translate(payload):
def image(payload):
prompt = payload.get('prompt', 'No Prompt')
project_id = payload.get('projectId')
aspect_ratio = payload.get('aspectRatio')
# Versuche, ein Referenzbild aus dem Payload zu holen (für Image-to-Image)
# Frontend sendet "referenceImagesBase64" (Array)
ref_images = payload.get('referenceImagesBase64')
ref_image = None
if ref_images and isinstance(ref_images, list) and len(ref_images) > 0:
ref_image = ref_images[0]
elif payload.get('referenceImage'): # Fallback für alte Calls
elif payload.get('referenceImage'):
ref_image = payload.get('referenceImage')
log_and_save(project_id, "image", "prompt", prompt)
log_and_save(project_id, "image", "prompt", f"{prompt} (Ratio: {aspect_ratio or 'default'})")
if ref_image:
logging.info(f"Image-Mode: Reference Image found (Length: {len(ref_image)})")
try:
# Aufruf mit optionalem Referenzbild
image_b64 = call_gemini_image(prompt, reference_image_b64=ref_image)
image_b64 = call_gemini_image(prompt, reference_image_b64=ref_image, aspect_ratio=aspect_ratio)
log_and_save(project_id, "image", "response_b64_preview", image_b64[:100] + "...")
return {"imageBase64": f"data:image/png;base64,{image_b64}"}
except Exception as e: