Récupérer une vidéo
Consultez une tâche vidéo via l’interface Video Generations de la plateforme.
Utilisez l’ID de tâche renvoyé par l’interface de création pour consulter l’état, le résultat vidéo et les métadonnées. Arrêtez les consultations périodiques lorsque la tâche passe à l’état succeeded ou failed.
/v1/video/generations/{task_id}Utilisez le Task ID renvoyé par l’API de création pour consulter l’état et le résultat actuels de la tâche vidéo. Arrêtez les consultations périodiques lorsque la tâche atteint l’état succeeded ou failed.
Cette API utilise les chemins et la structure d’état des tâches Platform Video Generations. Elle n’est pas équivalente à l’API OpenAI Videos de récupération par Video ID.
Authentification
bearerAuth Utilisez Bearer your-api-key dans le Header Authorization.
Emplacement: header
Paramètres de chemin
Task ID renvoyé lors de la création d’une tâche vidéo sur la plateforme.
1 <= lengthCorps de réponse
application/json
application/json
application/json
application/json
application/json
application/json
Consultations périodiques de l’état de la tâche
La génération vidéo est asynchrone. Après avoir soumis une tâche, vous pouvez utiliser les intervalles suivants pour concilier rapidité d’accès au résultat et fréquence des requêtes :
- Attendez d’abord 2 à 3 secondes après la soumission de la tâche.
- Pendant les 30 premières secondes, effectuez une consultation toutes les 5 secondes.
- Entre 30 secondes et 2 minutes, effectuez une consultation toutes les 10 secondes.
- Après 2 minutes, effectuez une consultation toutes les 30 secondes.
- Définissez un délai d’attente total de 5 à 10 minutes. Arrêtez immédiatement lorsque la tâche passe à l’état
succeededoufailed.
Exemple de consultations périodiques en JavaScript
async function pollVideoStatus(taskId, maxAttempts = 30) {
const apiOrigin = 'https://api.agtcloud.cn';
const headers = {
Authorization: 'Bearer your-api-key',
};
await new Promise((resolve) => setTimeout(resolve, 3000));
for (let attempt = 0; attempt < maxAttempts; attempt += 1) {
const response = await fetch(
`${apiOrigin}/v1/video/generations/${encodeURIComponent(taskId)}`,
{ headers },
);
if (!response.ok) {
throw new Error(`Échec de la consultation avec HTTP ${response.status}`);
}
const result = await response.json();
if (result.status === 'succeeded') {
return result;
}
if (result.status === 'failed') {
throw new Error(result.error?.message ?? 'Échec de la génération vidéo');
}
const delay = attempt < 6 ? 5000 : attempt < 12 ? 10000 : 30000;
await new Promise((resolve) => setTimeout(resolve, delay));
}
throw new Error('Délai d’attente dépassé lors des consultations de la tâche vidéo');
}
pollVideoStatus('TASK_ID').then(console.log).catch(console.error);