Skip to main content

Blog

Menyimpan File AI: dari URL Output PiAPI ke Penyimpanan Persisten

Ilustrasi alat pengembang PiAPI

Generasi yang selesai memberikan hasil, tetapi URL milik penyedia bukan pustaka media permanen. Jika pengguna perlu membuka, mengedit, atau mengunduhnya nanti, salin file ke penyimpanan yang Anda kendalikan dan lacak salinan secara terpisah dari generasi.

1. Baca output model yang digunakan

Ambil ID tugas tersimpan dan pastikan data.status adalah completed sebelum mengekstrak file. Bentuk data.output berbeda menurut model dan jenis tugas. Gunakan contoh pengambilan yang sesuai; jangan menganggap setiap respons memiliki satu URL gambar atau video pada tingkat teratas.

Contohnya, respons Kling yang didokumentasikan memiliki array works berisi sumber daya video. Model lain menggunakan kolom berbeda. Simpan ID, model, jenis tugas, waktu selesai, dan indeks sumber daya terpilih bersama pekerjaan Anda agar percobaan ulang menemukan hasil yang sama.

2. Segera salin dan periksa retensi per layanan

Dokumentasi penyimpanan output PiAPI menjelaskan aturan berbeda menurut layanan dan lokasi hosting. Sebagian entri menentukan masa singkat; lainnya mengikuti kebijakan CDN penyedia. Halaman juga memuat layanan lama. Jangan menerapkan satu masa retensi ke semua model saat ini atau menganggap masa yang tidak terdokumentasi sebagai tanpa batas.

Setelah selesai, mulai penyalinan latar belakang melalui webhook atau polling. Simpan pekerjaan secara persisten sebelum mengakui callback. Urutan berikut menunjukkan status penyimpanan aplikasi Anda, bukan status API tugas PiAPI.

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

3. Verifikasi byte sebelum menandai file tersimpan

Unduh URL hasil tanpa meneruskan kunci API PiAPI. Batasi tujuan yang diizinkan, validasi pengalihan, dan tetapkan batas ukuran serta waktu. Periksa status HTTP, jumlah byte aktual, jenis media yang diharapkan, dan keterbacaan dasar. Halaman galat HTML dengan status 200 bukan video yang tersimpan.

Tulis objek sementara, hitung checksum, dan terbitkan objek akhir setelah validasi berhasil. Gunakan kunci stabil berdasarkan ID tugas dan indeks sumber daya. Catat kunci objek, byte, checksum, dan waktu simpan; sediakan URL milik Anda sesuai kebijakan akses.

4. Coba ulang penyimpanan secara terpisah

Jika penyalinan gagal, pertahankan generasi sebagai selesai dan coba salin lagi selama sumber tersedia. Rekaman unik persisten mencegah entri media ganda. Jika URL tidak lagi terbaca, ambil kembali tugas dan periksa output terkini; ini tidak menjamin pemulihan file kedaluwarsa. Uji peristiwa ganda, unduhan parsial, dan URL yang tidak tersedia sebelum rilis.

Referensi: penyimpanan output, pengambilan tugas Kling, dan webhook. Ini pola penyimpanan aplikasi, bukan janji pengarsipan oleh PiAPI.