Salvare file generati con l’IA: dall’URL PiAPI allo storage duraturo

Una generazione completata fornisce un risultato, ma un URL del fornitore non è una libreria multimediale permanente. Se gli utenti devono riaprire, modificare o scaricare il risultato in seguito, copia il file in uno storage che controlli e segui la copia separatamente dalla generazione.
1. Leggere l’output del modello usato
Recupera l’ID salvato e richiedi data.status uguale a completed prima di estrarre file. La forma di data.output cambia per modello e tipo di attività. Usa l’esempio di lettura pertinente; non presumere un unico URL di immagine o video al livello principale di tutte le risposte.
La risposta Kling documentata, ad esempio, contiene un array works con risorse video. Altri modelli usano altri campi. Salva ID, modello, tipo di attività, ora di conclusione e indice della risorsa selezionata con il tuo lavoro, per recuperare lo stesso risultato durante un nuovo tentativo.
2. Copiare subito e verificare la conservazione per servizio
La documentazione sullo storage PiAPI descrive regole diverse secondo servizio e hosting. Alcune voci indicano periodi brevi; altre rimandano alla politica CDN del fornitore. La pagina include anche servizi precedenti. Non estendere un periodo a tutti i modelli attuali e non interpretare una durata non documentata come illimitata.
Alla conclusione avvia una copia in background tramite webhook o polling. Rendi persistente il lavoro prima di confermare il callback. La sequenza seguente riguarda gli stati di storage della tua applicazione, non quelli dell’API delle attività PiAPI.
generation completed → copy queued → downloading → verified → saved
↘ copy failed → retry copy3. Verificare i byte prima di dichiarare il file salvato
Scarica dall’URL del risultato senza inoltrare la chiave API PiAPI. Limita le destinazioni, valida i reindirizzamenti e imponi limiti di dimensione e tempo. Controlla stato HTTP, byte effettivi, tipo multimediale atteso e leggibilità di base. Una pagina HTML di errore con stato 200 non è un video salvato.
Scrivi un oggetto temporaneo, calcola un checksum e pubblica l’oggetto finale soltanto dopo la validazione. Usa una chiave stabile basata su ID dell’attività e indice della risorsa. Registra chiave, byte, checksum e ora di salvataggio; servi un URL controllato secondo la tua politica di accesso.
4. Ripetere lo storage separatamente dalla generazione
Se la copia fallisce, mantieni la generazione completata e riprova la copia finché la fonte è disponibile. Un record unico persistente evita voci multimediali duplicate. Se l’URL non è più leggibile, recupera l’attività e controlla l’output attuale; questo non garantisce il ripristino di un file scaduto. Prova eventi duplicati, download parziali e URL indisponibili prima del rilascio.
Riferimenti: storage degli output, lettura attività Kling e webhook. È un modello di storage applicativo, non una promessa di archiviazione da parte di PiAPI.


