API Sora 2

Bangun di atas API Sora 2

Kirim pengalaman teks-ke-video yang didukung oleh OpenAI Sora 2 dan Sora Pro. Autentikasi dengan kunci API, polling status tugas, dan kirim video akhir dalam hitungan menit.

Mengapa tim mengandalkan API Sora 2

Berikan alur kerja pembuatan video yang tangguh dengan polling yang dapat diprediksi, 20 permintaan bersamaan, dan unggahan penyimpanan otomatis.

Sora 2 + Sora Pro

Pilih string model yang sesuai dengan kebutuhan kualitas dan biaya Anda: sora-2 atau sora-2-pro.

Polling yang dapat diprediksi

Buat tugas, lalu polling endpoint check-result untuk menjaga status dan kemajuan tetap sinkron tanpa SSE.

20 permintaan bersamaan

Proses hingga 20 tugas pembuatan video secara bersamaan. Hubungi kami untuk batas yang lebih tinggi.

Otentikasi & URL Dasar

Semua endpoint berada di bawah https://freesoragenerator.com/api. Berikan kunci API yang dibuat di konsol melalui header Authorization.

  • Kirim header Authorization: Bearer YOUR_API_KEY dengan setiap permintaan.
  • Gunakan Content-Type: application/json saat mengirim payload.
  • Setiap permintaan pembuatan mengurangi 20 kredit (sora-2) atau 30 kredit (sora-2-pro); pekerjaan yang gagal dikembalikan secara otomatis.

Endpoint inti

Mulai dengan membuat tugas pembuatan, lalu polling atau mendengarkan hasilnya.

Buat video Sora 2

Mulai pekerjaan pembuatan Sora 2 atau Sora Pro dengan prompt teks-ke-video atau gambar-ke-video opsional.

Metode: POSTJalur: /api/v1/video/sora-video

Parameter payload

  • Diperlukan. Gunakan "sora-2" atau "sora-2-pro" untuk menargetkan varian model yang Anda butuhkan.
  • Diperlukan. Deskripsi bahasa alami dari adegan yang ingin Anda buat Sora.
  • Opsional (direkomendasikan). URL data Base64 dengan awalan "data:image/*;base64," untuk mode gambar-ke-video.
  • Opsional. URL gambar referensi lama; masih didukung tetapi prioritas lebih rendah dari imageData.
  • Opsional. Nilai yang didukung: "9:16" (default) atau "16:9".
  • Opsional. Apakah akan menampilkan video secara publik; default adalah true.
  • Opsional (khusus VIP). Pid video target untuk fitur lanjutan/remix.
  • Opsional (khusus VIP). Array kontrol karakter; setiap item mencakup url dan timestamp.
  • Opsional. Endpoint HTTPS yang menerima payload hasil akhir ketika tugas berhasil.

Catatan

  • Respon kembali segera dengan taskId; polling check-result hingga status berhasil atau gagal.
  • Sediakan webHook untuk menerima payload akhir secara asinkron tanpa menjalankan loop polling.

Permintaan contoh

curl -X POST https://freesoragenerator.com/api/v1/video/sora-video \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "sora-2-pro",
    "prompt": "A cinematic shot of a futuristic city at sunset, captured in 4K.",
    "imageData": "data:image/png;base64,iVBORw0KGgoAAA...",
    "aspectRatio": "9:16",
    "isPublic": true
  }'

Respon contoh

{
  "code": 0,
  "message": "ok",
  "data": {
    "id": "task_1234567890"
  }
}

Periksa hasil pembuatan

Polling status terbaru untuk tugas pembuatan untuk melacak kemajuan dan mengambil hasil.

Metode: POSTJalur: /api/video-generations/check-result

Parameter payload

  • Diperlukan. Identifikasi yang dikembalikan saat Anda membuat tugas pembuatan.

Catatan

  • Endpoint memverifikasi bahwa tugas tersebut milik akun Anda sebelum mengembalikan data.
  • Pekerjaan yang gagal secara otomatis mengembalikan kredit dan mengekspos metadata pengembalian dalam payload check-result.

Permintaan contoh

curl -X POST https://freesoragenerator.com/api/video-generations/check-result \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "taskId": "task_1234567890"
  }'

Respon contoh

{
  "code": 0,
  "message": "Success",
  "data": {
    "status": "running",
    "progress": 35,
    "result_url": "https://your-domain.com/storage/videos/xxx.mp4",
    "result_urls": [
      "https://your-domain.com/storage/videos/xxx.mp4"
    ],
    "failure_reason": "",
    "error_message": null,
    "credits_refunded": false,
    "refund_trans_no": null,
    "result_pid": "s_xxx",
    "result_pids": [
      "s_xxx"
    ],
    "metadata": {
      "remixTargetId": "s_prev",
      "characters": [
        {
          "url": "https://.../hero.mp4",
          "timestamps": "0,3"
        }
      ]
    }
  }
}

Dapatkan kredit pengguna dan status VIP

Kueri kredit yang tersedia dari pengguna saat ini dan status keanggotaan VIP.

Metode: POSTJalur: /api/get-user-credits

Catatan

  • Memerlukan sesi login yang valid atau token API untuk mengakses informasi pengguna.
  • Mengembalikan bidang left_credits, is_recharged, is_pro, dan is_vip status.

Permintaan contoh

curl -X POST https://freesoragenerator.com/api/get-user-credits \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"

Respon contoh

{
  "code": 0,
  "message": "ok",
  "data": {
    "left_credits": 120,
    "is_recharged": true,
    "is_pro": true,
    "is_vip": false
  }
}

1. Buat tugas

Kirim permintaan API Sora2 dengan prompt Anda dan URL webhook opsional, lalu simpan taskId yang dikembalikan.

2. Lacak kemajuan

Berlangganan ke acara streaming atau panggil endpoint check-result hingga status menjadi berhasil atau gagal.

3. Kirim video

Gunakan URL yang didukung penyimpanan di result_url/result_urls untuk menyajikan atau mengunduh video yang dihasilkan.

Pertanyaan yang sering diajukan

Bagaimana cara mengautentikasi permintaan saya?

Buat kunci API di konsol, lalu sertakan sebagai Authorization: Bearer YOUR_API_KEY. Kunci dapat diputar kapan saja.

Bagaimana saya harus polling untuk hasil?

Setelah memanggil create, simpan taskId. Panggil /api/video-generations/check-result setiap 3-5 detik hingga status berhasil atau gagal, lalu gunakan result_url/result_urls.

Bagaimana kredit ditangani untuk kegagalan?

Kami secara otomatis mengembalikan kredit ketika tugas gagal dan mengembalikan refund_trans_no ditambah credits_refunded=true dalam payload check-result untuk jejak audit.

Sumber daya yang berguna

Luncurkan dengan API Sora2 hari ini

Buat kunci API Anda dan mulai menghasilkan video AI sinematik dalam hitungan menit.