dippoo Claude Opus 4.5 commited on
Commit
1ebf6af
·
1 Parent(s): a4583f2

Add detailed logging for video generation debugging

Browse files

- Log video generation request details
- Log image upload status
- Log WaveSpeed API responses
- Update job status messages for better UI feedback

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

src/content_engine/api/routes_video.py CHANGED
@@ -157,8 +157,11 @@ async def generate_video_cloud(
157
  import random
158
  import httpx
159
 
 
 
160
  # Route to Higgsfield for Kling 3.0 models
161
  if backend == "higgsfield" or model.startswith("kling-3"):
 
162
  return await generate_video_higgsfield(
163
  image=image,
164
  prompt=prompt,
@@ -168,6 +171,7 @@ async def generate_video_cloud(
168
  )
169
 
170
  if not _wavespeed_provider:
 
171
  raise HTTPException(500, "WaveSpeed API not configured")
172
 
173
  job_id = str(uuid.uuid4())[:8]
@@ -394,9 +398,14 @@ async def _generate_cloud_video(
394
  import httpx
395
  import aiohttp
396
 
 
 
 
397
  try:
398
  # Upload image to temporary hosting (WaveSpeed needs URL)
 
399
  image_url = await _wavespeed_provider._upload_temp_image(image_bytes)
 
400
 
401
  # Resolve model to WaveSpeed model ID
402
  from content_engine.services.cloud_providers.wavespeed_provider import VIDEO_MODEL_MAP
@@ -414,6 +423,9 @@ async def _generate_cloud_video(
414
  if negative_prompt:
415
  payload["negative_prompt"] = negative_prompt
416
 
 
 
 
417
  async with httpx.AsyncClient(timeout=300) as client:
418
  resp = await client.post(
419
  endpoint,
@@ -432,6 +444,7 @@ async def _generate_cloud_video(
432
  return
433
 
434
  result = resp.json()
 
435
  data = result.get("data", result)
436
 
437
  # Check for failed status
 
157
  import random
158
  import httpx
159
 
160
+ logger.info("Video cloud generation request: model=%s, backend=%s, frames=%d", model, backend, num_frames)
161
+
162
  # Route to Higgsfield for Kling 3.0 models
163
  if backend == "higgsfield" or model.startswith("kling-3"):
164
+ logger.info("Routing to Higgsfield for model: %s", model)
165
  return await generate_video_higgsfield(
166
  image=image,
167
  prompt=prompt,
 
171
  )
172
 
173
  if not _wavespeed_provider:
174
+ logger.error("WaveSpeed provider not configured!")
175
  raise HTTPException(500, "WaveSpeed API not configured")
176
 
177
  job_id = str(uuid.uuid4())[:8]
 
398
  import httpx
399
  import aiohttp
400
 
401
+ logger.info("Starting cloud video generation: job=%s, model=%s, image_size=%d bytes", job_id, model, len(image_bytes))
402
+ _video_jobs[job_id]["message"] = "Uploading image..."
403
+
404
  try:
405
  # Upload image to temporary hosting (WaveSpeed needs URL)
406
+ logger.info("Uploading image to temp host...")
407
  image_url = await _wavespeed_provider._upload_temp_image(image_bytes)
408
+ logger.info("Image uploaded: %s", image_url[:80] if image_url else "FAILED")
409
 
410
  # Resolve model to WaveSpeed model ID
411
  from content_engine.services.cloud_providers.wavespeed_provider import VIDEO_MODEL_MAP
 
423
  if negative_prompt:
424
  payload["negative_prompt"] = negative_prompt
425
 
426
+ _video_jobs[job_id]["message"] = f"Calling WaveSpeed API ({wavespeed_model})..."
427
+ logger.info("Calling WaveSpeed video API: %s", endpoint)
428
+
429
  async with httpx.AsyncClient(timeout=300) as client:
430
  resp = await client.post(
431
  endpoint,
 
444
  return
445
 
446
  result = resp.json()
447
+ logger.info("WaveSpeed video API response: %s", str(result)[:500])
448
  data = result.get("data", result)
449
 
450
  # Check for failed status