Sincronização labial
Crie e consulte trabalhos de sincronização labial.
Sincronização labial
Os trabalhos de sincronização labial combinam um vídeo de origem e uma trilha de áudio em um vídeo resultante sincronizado. O endpoint é assíncrono porque o processamento de vídeo pode demorar mais do que uma solicitação HTTP normal.
Criar trabalho
POST /api/open/v1/media/lip-sync/jobs
Authorization: Bearer FISHAUDIO_API_KEY
Content-Type: application/jsonSolicitar
{
"videoUrl": "https://example.com/video.mp4",
"audioUrl": "https://example.com/audio.mp3"
}Ambas as URLs devem ser acessíveis pelo serviço API. Use URLs assinados de curta duração para mídia privada e mantenha-os válidos por tempo suficiente para que o trabalhador baixe os arquivos.
curl https://fishaudio.org/api/open/v1/media/lip-sync/jobs \
-H "Authorization: Bearer FISHAUDIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"videoUrl":"https://example.com/video.mp4","audioUrl":"https://example.com/audio.mp3"}'Resposta
{
"success": true,
"message": "Job created",
"data": {
"id": "job_123",
"status": "queued"
}
}Persista o ID do trabalho antes de atualizar o estado visível ao usuário. Se o navegador fechar, seu back-end ainda poderá pesquisar e anexar o resultado final ao projeto original.
Listar trabalhos
GET /api/open/v1/media/lip-sync/jobs?page=1&limit=20&status=completed
Authorization: Bearer FISHAUDIO_API_KEYOs filtros suportados incluem page, limit e status. Use a listagem para recuperação de back-office e histórico do projeto, não como um ciclo de pesquisa de alta frequência.
Conseguir emprego
GET /api/open/v1/media/lip-sync/jobs/{jobId}
Authorization: Bearer FISHAUDIO_API_KEYOs trabalhos concluídos incluem metadados de resultados em data. Os trabalhos com falha incluem um código ou mensagem de erro. Mantenha os estados terminais imutáveis em seu próprio banco de dados para que pesquisas repetidas não reescrevam os registros históricos de resultados.
Faturamento e créditos
O trabalho de sincronização labial geralmente é cobrado por trabalho aceito ou duração do processamento concluído. Valide a duração do vídeo e do áudio antes do envio e evite a criação automática de um segundo trabalho quando uma solicitação de enquete expirar.
Se os usuários puderem iniciar muitos trabalhos, imponha sua própria fila e limite de simultaneidade. Use Perfil para detectar saldo baixo antes de aceitar lotes caros.
Erros
| Estado | Significado | Ação |
|---|---|---|
400 | URL de mídia, carga útil ou filtro de status inválidos | Corrija a solicitação |
401 | A chave API é inválida | Atualizar credenciais |
402 | Os créditos ou a quota são insuficientes | Pausar a fila |
404 | O ID do trabalho é desconhecido para esta chave API | Verifique a conta e o ID armazenado |
422 | A mídia está acessível, mas não pode ser processada | Solicite mídias de origem diferentes |