API pembuatan video Sora 2
Panggil sora-2 dan sora-2-pro di APIMaster.ai untuk teks-ke-video dan gambar-ke-video. Polling dan unduhan menggunakan URL APIMaster.
Pembuatan video Sora 2
Hasilkan video dengan Sora 2 melalui APIMaster. Model yang didukung: sora-2, sora-2-pro. Nama sora dipetakan ke sora-2.
URL Dasar:
https://apimaster.ai/v1adalahhttps://apimaster.ai/v1. Gunakanhttps://apimaster.ai/v1/videos/...— jangan tambahkan/v1lagi.
Harga (diskon 20% dari resmi, per detik)
Penagihan adalah durasi (detik) × tarif per detik.
| Model | Resolusi | Resmi | APIMaster |
|---|---|---|---|
sora-2 |
720p | $0,10 / dtk | $0,08 / dtk |
sora-2-pro |
720p | $0,30 / dtk | $0,24 / dtk |
sora-2-pro |
1024p | $0,50 / dtk | $0,40 / dtk |
sora-2-pro |
1080p | $0,70 / dtk | $0,56 / dtk |
Contoh: 4 detik sora-2 di 720p ≈ $0,32 ($0,08 × 4).
Kirim tugas
Dua titik masuk — gunakan salah satu.
Opsi A (direkomendasikan): JSON asli
POST https://apimaster.ai/v1/videos/generations
| Kolom | Tipe | Wajib | Deskripsi |
|---|---|---|---|
model |
string | ya | sora-2 / sora-2-pro (atau sora) |
prompt |
string | ya | Deskripsi video |
duration |
integer | tidak | Umum: 4 / 8 / 12 / 16 / 20, default 4 |
resolution |
string | tidak | sora-2: 720p; sora-2-pro: juga 1024p / 1080p, default 720p |
aspect_ratio |
string | tidak | 16:9 / landscape atau 9:16 / portrait, default 16:9 |
image_urls |
string[] | tidak | Gambar-ke-video; 1 URL publik direkomendasikan |
curl -s "https://apimaster.ai/v1/videos/generations" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "sora-2",
"prompt": "A waterfall forming a rainbow, cinematic",
"duration": 4,
"resolution": "720p",
"aspect_ratio": "16:9"
}'
Respons pengiriman
{
"code": 200,
"data": [
{
"status": "submitted",
"task_id": "task_xxxxxxxx"
}
]
}
Atur aspect_ratio secara eksplisit untuk gambar-ke-video (potret → 9:16). Default adalah 16:9.
Opsi B: Kompatibel dengan OpenAI Video
POST https://apimaster.ai/v1/videos (JSON atau multipart)
| Kolom | Tipe | Wajib | Deskripsi |
|---|---|---|---|
model |
string | ya | sora-2 / sora-2-pro (atau sora) |
prompt |
string | ya | Deskripsi video |
seconds |
string | tidak | Durasi, mis. "4"; integer duration juga berfungsi, default 4 |
size |
string | tidak | Ukuran piksel — resolusi + orientasi (tabel di bawah), default 720x1280 |
images |
string[] | tidak | Gambar-ke-video; maksimal 1 URL. input_reference (tunggal) juga berfungsi |
Nilai size
| Model | Lanskap (16:9) | Potret (9:16) |
|---|---|---|
sora-2 |
1280x720 (720p) |
720x1280 (720p) |
sora-2-pro |
1280x720 (720p) / 1792x1024 (1024p) |
720x1280 (720p) / 1024x1792 (1024p) |
sizetidak valid (mis.1920x1080) mengembalikan400 invalid_size. Jalur OpenAI maksimal 1024p; gunakan Opsi A denganresolution: "1080p"untuk 1080p.
curl -s "https://apimaster.ai/v1/videos" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "sora-2",
"prompt": "A waterfall forming a rainbow, cinematic",
"seconds": "4",
"size": "1280x720"
}'
Respons pengiriman
{
"id": "task_xxxxxxxx",
"object": "video",
"model": "sora-2",
"status": "queued"
}
Gunakan task_id / id dari salah satu titik akhir untuk polling dan unduhan.
Polling status tugas
GET https://apimaster.ai/v1/videos/{task_id}
curl -s "https://apimaster.ai/v1/videos/task_xxxxxxxx" \
-H "Authorization: Bearer YOUR_API_KEY"
Contoh selesai:
{
"id": "task_xxxxxxxx",
"status": "completed",
"url": "https://apimaster.ai/v1/videos/task_xxxxxxxx/content"
}
Unduh MP4 melalui
https://apimaster.ai/v1/videos/{task_id}/content.
Unduh video
curl -L "https://apimaster.ai/v1/videos/task_xxxxxxxx/content" \
-H "Authorization: Bearer YOUR_API_KEY" \
-o output.mp4
Contoh gambar-ke-video
Opsi A:
curl -s "https://apimaster.ai/v1/videos/generations" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "sora-2",
"prompt": "Slow push-in, gentle breeze in the hair",
"duration": 8,
"resolution": "720p",
"aspect_ratio": "9:16",
"image_urls": ["https://example.com/reference.jpg"]
}'
Opsi B (kolom images):
curl -s "https://apimaster.ai/v1/videos" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "sora-2",
"prompt": "Slow push-in, gentle breeze in the hair",
"seconds": "8",
"images": ["https://example.com/reference.jpg"]
}'
Tips polling
- Tunggu 10–20 detik setelah pengiriman; lalu polling setiap 3–5 detik
- Waktu tipikal: 1–3 menit
- Simpan MP4 segera setelah selesai
Kode kesalahan
| kode | Arti |
|---|---|
| 400 | Parameter tidak valid (mis. invalid_size) |
| 401 | Kunci API tidak valid |
| 402 | Saldo tidak mencukupi |
| 429 | Terkena batas laju |
| 500 / 502 | Kesalahan sementara, coba lagi |