Fish Audio Docs
Référence API
Back to site

Synchronisation labiale

Créez et interrogez des tâches de synchronisation labiale.

Synchronisation labiale

Les tâches de synchronisation labiale combinent une vidéo source et une piste audio dans une vidéo de résultat synchronisée. Le point de terminaison est asynchrone car le traitement vidéo peut prendre plus de temps qu'une requête HTTP normale.

Créer un emploi

POST /api/open/v1/media/lip-sync/jobs
Authorization: Bearer FISHAUDIO_API_KEY
Content-Type: application/json

Demande

{
  "videoUrl": "https://example.com/video.mp4",
  "audioUrl": "https://example.com/audio.mp3"
}

Les deux URL doivent être accessibles par le service API. Utilisez des URL signées de courte durée pour les médias privés et conservez-les valides suffisamment longtemps pour que le travailleur puisse télécharger les fichiers.

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"}'

Réponse

{
  "success": true,
  "message": "Job created",
  "data": {
    "id": "job_123",
    "status": "queued"
  }
}

Conservez l'ID de tâche avant de mettre à jour l'état visible par l'utilisateur. Si le navigateur se ferme, votre backend devrait toujours pouvoir interroger et joindre le résultat final au projet d'origine.

Liste des offres d'emploi

GET /api/open/v1/media/lip-sync/jobs?page=1&limit=20&status=completed
Authorization: Bearer FISHAUDIO_API_KEY

Les filtres pris en charge incluent page, limit et status. Utilisez la liste pour la récupération du back-office et l'historique du projet, et non comme une boucle d'interrogation à haute fréquence.

Obtenir un emploi

GET /api/open/v1/media/lip-sync/jobs/{jobId}
Authorization: Bearer FISHAUDIO_API_KEY

Les tâches terminées incluent les métadonnées de résultat dans data. Les tâches ayant échoué incluent un code ou un message d'erreur. Gardez les états terminaux immuables dans votre propre base de données afin que les interrogations répétées ne réécrivent pas les enregistrements de résultats historiques.

Facturation et crédits

Le travail de synchronisation labiale est généralement facturé en fonction du travail accepté ou de la durée du traitement terminé. Validez la longueur de la vidéo et la longueur de l'audio avant de la soumettre, et évitez de créer automatiquement une deuxième tâche lorsqu'une demande de sondage expire.

Si les utilisateurs peuvent lancer de nombreuses tâches, appliquez votre propre limite de file d'attente et de concurrence. Utilisez Profil pour détecter un solde faible avant d'accepter des lots coûteux.

Erreurs

StatutSignificationActions
400URL de média, charge utile ou filtre d'état non valideCorriger la demande
401La clé API n'est pas valideActualiser les informations d'identification
402Les crédits ou les quotas sont insuffisantsSuspendre la file d'attente
404L’ID de tâche est inconnu pour cette clé APIVérifier le compte et l'identifiant stocké
422Le média est accessible mais ne peut pas être traitéDemandez différents médias sources