Skip to main content

Blog

Conserver les fichiers générés : de l’URL PiAPI au stockage durable

Illustration des outils de développement PiAPI

Une tâche terminée fournit un résultat, mais une URL hébergée par le fournisseur n’est pas une médiathèque permanente. Si les utilisateurs doivent rouvrir, modifier ou télécharger le fichier plus tard, copiez-le dans un stockage que vous contrôlez et suivez cette copie séparément de la génération.

1. Lire la sortie du modèle utilisé

Relisez l’identifiant enregistré et exigez data.status égal à completed avant d’extraire les fichiers. La structure de data.output varie selon le modèle et le type de tâche. Consultez l’exemple correspondant ; ne supposez pas une URL d’image ou de vidéo unique au premier niveau de toutes les réponses.

Par exemple, la réponse Kling documentée contient un tableau works avec des ressources vidéo. D’autres modèles utilisent d’autres champs. Conservez l’identifiant, le modèle, le type, l’heure de fin et l’indice de ressource sélectionné avec votre traitement, pour retrouver le même résultat lors d’une reprise.

2. Copier rapidement et vérifier la durée par service

La documentation du stockage des sorties décrit des durées différentes selon le service et l’hébergement. Certaines entrées indiquent une conservation courte ; d’autres renvoient aux règles du CDN du fournisseur. La page inclut aussi d’anciens services. N’étendez pas une durée à tous les modèles actuels et n’interprétez pas une absence d’information comme une durée illimitée.

À la fin, démarrez une copie en arrière-plan via un webhook ou le polling. Enregistrez durablement le travail avant d’acquitter le callback. La séquence ci-dessous représente les états de stockage de votre application, pas ceux de l’API de tâches PiAPI.

generation completed → copy queued → downloading → verified → saved
                                      ↘ copy failed → retry copy

3. Valider le contenu avant de déclarer le fichier sauvegardé

Téléchargez l’URL du résultat sans transmettre votre clé API PiAPI. Limitez les destinations, vérifiez les redirections et fixez des limites de taille et de temps. Contrôlez le statut HTTP, le nombre réel d’octets, le type de média attendu et la lisibilité de base. Une page d’erreur HTML renvoyée avec un statut 200 n’est pas une vidéo sauvegardée.

Écrivez un objet temporaire, calculez une somme de contrôle, puis publiez l’objet final après validation. Utilisez une clé stable dérivée de l’identifiant de tâche et de l’indice de ressource. Enregistrez clé, taille, somme de contrôle et heure, puis servez votre propre URL selon votre politique d’accès.

4. Réessayer le stockage indépendamment de la génération

Si la copie échoue, gardez la génération à l’état terminé et réessayez la copie tant que la source existe. Un enregistrement unique persistant évite les doublons de médias. Si l’URL devient illisible, relisez la tâche et sa sortie actuelle ; cela ne garantit pas la récupération d’un fichier expiré. Testez les événements doubles, les téléchargements partiels et les URL indisponibles avant le déploiement.

Références : stockage des sorties, lecture d’une tâche Kling et webhooks. Ce modèle concerne le stockage de votre application et ne promet pas un archivage assuré par PiAPI.