Mengunduh Media (Download)
Endpoint ini mengembalikan konten biner mentah dari berkas media yang tersimpan di server Meta. Gunakan endpoint ini untuk menyimpan media yang dikirim pelanggan ke penyimpanan lokal Anda secara langsung sebagai file.
🛜 Endpoint
GET /v1/media/:media_id/download
📋 Parameter
Endpoint ini tidak memerlukan query parameter tambahan. Cukup sertakan media_id pada path URL dan header Authorization.
📥 Cara Kerja
Server akan mengembalikan data biner file mentah dengan header Content-Type yang sesuai dengan tipe asli file (misalnya image/png, video/mp4, application/pdf). Response bukan JSON — client Anda harus menangani response sebagai binary stream.
🚦 Contoh cURL Request (simpan ke file)
curl -X GET "https://api.kirem.co/v1/media/18471948194819/download" \
-H "Authorization: Bearer kirem_live_xxx" \
--output downloaded_image.png
🚦 Contoh Kode (Node.js — stream ke file)
const axios = require('axios');
const fs = require('fs');
axios.get('https://api.kirem.co/v1/media/18471948194819/download', {
headers: { 'Authorization': 'Bearer kirem_live_xxx' },
responseType: 'stream'
}).then(res => {
res.data.pipe(fs.createWriteStream('downloaded_image.png'));
console.log('File berhasil disimpan!');
});
🚦 Contoh Kode (Go — io.Copy ke file)
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
url := "https://api.kirem.co/v1/media/18471948194819/download"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Set("Authorization", "Bearer kirem_live_xxx")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
file, _ := os.Create("downloaded_image.png")
defer file.Close()
io.Copy(file, resp.Body)
fmt.Println("File berhasil disimpan!")
}
🚦 Contoh Kode (PHP — file_put_contents)
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.kirem.co/v1/media/18471948194819/download');
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Bearer kirem_live_xxx']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($ch);
curl_close($ch);
file_put_contents('downloaded_image.png', $data);
echo "File berhasil disimpan!";
✅ Respons Sukses (200 OK)
Server mengembalikan data biner mentah (bukan JSON) dengan header Content-Type sesuai tipe file:
| Tipe File | Content-Type Header |
|---|---|
| Gambar PNG | image/png |
| Gambar JPEG | image/jpeg |
| Video MP4 | video/mp4 |
| Dokumen PDF | application/pdf |
| Audio OGG | audio/ogg |
⚠️ Catatan Penting
- Response body adalah data biner mentah. Pastikan client Anda tidak mencoba mem-parse response sebagai JSON.
- Jika
media_idtidak ditemukan atau sudah dihapus, API akan mengembalikan error404 Not Found. - Gunakan endpoint Get Media Metadata terlebih dahulu jika Anda perlu mengetahui tipe file atau ukuran sebelum mengunduh.