Parâmetros de Caminho
O ID da tarefa retornado da requisição de criação de vídeo.
Resposta
Status da tarefa: pending, processing, completed, failed.
Porcentagem de progresso (0-100).
URL do vídeo gerado (quando concluído).
Mensagem de erro (se houver falha).
Timestamp de conclusão (quando finalizado).
curl "https://api.lemondata.cc/v1/videos/generations/video_abc123" \
-H "Authorization: Bearer sk-your-api-key"
{
"task_id": "video_abc123",
"status": "pending",
"progress": 0,
"model": "kling-v2.6-pro",
"created_at": 1706000000
}
Melhores Práticas de Polling
- Faça polling a cada 5-10 segundos
- Implemente exponential backoff para tarefas longas
- Defina um tempo limite máximo (ex: 10 minutos)
- Trate o status
failed de forma adequada
import time
def wait_for_video(task_id, max_wait=600, interval=5):
"""Wait for video with timeout."""
start = time.time()
while time.time() - start < max_wait:
response = requests.get(
f"https://api.lemondata.cc/v1/videos/generations/{task_id}",
headers={"Authorization": "Bearer sk-your-api-key"}
)
data = response.json()
if data["status"] == "completed":
return data["video_url"]
elif data["status"] == "failed":
raise Exception(data.get("error", "Video generation failed"))
time.sleep(interval)
raise TimeoutError("Video generation timed out")