import timeimport requestsdef poll_presentation_status(presentation_id, api_key, max_wait=300): """Poll for presentation status until completed or failed""" start_time = time.time() while time.time() - start_time < max_wait: response = requests.get( f"https://poe.poesius.com/api/v1/presentations/{presentation_id}", headers={"X-API-Key": api_key} ) data = response.json() status = data.get("status") print(f"Status: {status}") if status == "completed": return data elif status == "failed": raise Exception(f"Generation failed: {data.get('error')}") time.sleep(5) # Wait 5 seconds before next poll raise TimeoutError("Presentation generation timed out")