diff --git a/server/index.ts b/server/index.ts index d11d4678..db9d14d5 100644 --- a/server/index.ts +++ b/server/index.ts @@ -1243,20 +1243,23 @@ async function processVideoGenJob(job: VideoGenJob) { return; } - const { request_id } = await submitRes.json() as { request_id: string }; + const submitData = await submitRes.json() as { request_id: string; status_url?: string; response_url?: string }; + const request_id = submitData.request_id; + const statusPollUrl = submitData.status_url || `https://queue.fal.run/${MODEL}/requests/${request_id}/status`; + let responseUrl = submitData.response_url || ""; + console.log(`[video-gen] Job ${job.id} submitted (model=${MODEL}, reqId=${request_id})`); // Poll for completion (up to 10 min) const deadline = Date.now() + 600_000; - let responseUrl = ""; let completed = false; while (Date.now() < deadline) { await new Promise((r) => setTimeout(r, 3000)); - const statusRes = await fetch( - `https://queue.fal.run/${MODEL}/requests/${request_id}/status`, - { headers: falHeaders }, - ); - if (!statusRes.ok) continue; + const statusRes = await fetch(statusPollUrl, { headers: falHeaders }); + if (!statusRes.ok) { + console.log(`[video-gen] Poll ${job.id}: status HTTP ${statusRes.status}`); + continue; + } const statusData = await statusRes.json() as { status: string; response_url?: string; queue_position?: number }; console.log(`[video-gen] Poll ${job.id}: status=${statusData.status}`); job.falStatus = statusData.status;