APIMart
Parameter Metadata OpenAI Video API

Parameter Metadata OpenAI Video API

Pahami metadata OpenAI Video API untuk pelacakan job, prompt, aset input, pengaturan rendering, status async, katalogisasi, debugging, dan alur kerja.

Tutorial

Metadata dalam Video API milik OpenAI berfungsi sebagai alat untuk melacak dan mengelola permintaan pembuatan video. Sementara parameter inti seperti prompt, model, dan seconds menentukan output visual, bidang metadata seperti id, status, dan expires_at menjadi kunci untuk memantau kemajuan job dan organisasi.

Poin-poin utama:

  • Pelacakan Job: Metadata melacak status job (queued, in_progress, completed, failed) dan persentase kemajuan.
  • Metadata Kustom: Pengembang dapat menambahkan pasangan key-value kustom (misalnya, user_id, project_id) untuk organisasi yang lebih baik.
  • Timestamp: Bidang seperti created_at dan expires_at membantu mengelola jadwal job dan kedaluwarsa sumber daya.
  • Tautan Relasional: Metadata menautkan aset melalui bidang seperti remixed_from_video_id, memastikan kesinambungan antar proyek.

Bagi pengembang, memahami dan menyusun metadata secara efektif meningkatkan efisiensi alur kerja, mulai dari pelacakan job hingga katalogisasi output video.

Parameter Metadata Inti dalam API yang Kompatibel dengan OpenAI

OpenAI

OpenAI Video API: Perbandingan Model sora-2 vs sora-2-pro & Parameter Rendering
OpenAI Video API: Perbandingan Model sora-2 vs sora-2-pro & Parameter Rendering

Metadata Terkait Prompt

Sebuah prompt lebih dari sekadar deskripsi - ini adalah serangkaian instruksi yang memengaruhi setiap keputusan visual yang dibuat model. Bayangkan memberikan briefing kepada seorang sinematografer yang tidak memiliki konteks sebelumnya tentang storyboard Anda. Robin Koenig dari OpenAI menjelaskannya dengan baik:

"Anggaplah prompting seperti memberi briefing kepada sinematografer yang belum pernah melihat storyboard Anda. Jika Anda melewatkan detail, mereka akan berimprovisasi." [6]

Prompt terbaik bersifat berlapis dan spesifik. Prompt tersebut mencakup detail tentang komposisi visual, ketukan gerakan (motion beats), pencahayaan, dan palet warna. Misalnya, alih-alih mengatakan, "seseorang berjalan di jalan", prompt yang lebih efektif mungkin: "seorang wanita melangkah empat kali, berhenti di penyeberangan, melihat ke kiri - dengan aspal basah, pantulan neon, dan cahaya lembut dari atas." Tingkat detail ini memastikan pengaturan waktu dan suasana yang akurat.

Untuk lip-sync, sertakan dialog dalam blok Dialogue: yang terpisah. Demikian pula, jika Anda ingin mereplikasi gaya sinematik tertentu, gunakan istilah yang tepat seperti "32mm spherical primes" atau "anamorphic 2.0x lens, shallow depth of field." Untuk menjaga konsistensi pewarnaan antar adegan, sebutkan tiga hingga lima warna spesifik (misalnya, "amber, cream, walnut brown"). Hindari istilah yang ambigu seperti "warm tones", karena dapat menghasilkan hasil yang tidak konsisten.

Selanjutnya, kita akan menjelajahi bagaimana aset input semakin menyempurnakan pembuatan video.

Metadata Aset Input

Aset input didefinisikan oleh dua bidang utama: input_reference dan characters.

  • input_reference: Bidang ini menerima URL gambar atau file ID. Aset yang disediakan mengatur komposisi dan gaya frame pertama, sementara prompt teks menentukan tindakan selanjutnya. Untuk menghindari masalah seperti peregangan atau distorsi, pastikan gambar sumber cocok dengan parameter size target [8].
  • characters: Bidang ini menerima array character ID yang dihasilkan melalui Characters API. Setiap ID dibuat dengan mengunggah klip referensi pendek (berdurasi 2–4 detik) dengan resolusi antara 720p dan 1080p. Satu pembuatan video dapat mencakup hingga dua referensi karakter. ID ini dapat digunakan kembali antar proyek untuk memastikan konsistensi visual [6].

Dengan prompt dan aset input yang telah didefinisikan, pengaturan rendering menyatukan semuanya untuk output akhir.

Metadata Rendering dan Perilaku Output

Parameter rendering menentukan dimensi, panjang, dan kualitas video. Pengaturan ini didefinisikan dalam panggilan API dan tidak dapat disesuaikan melalui bahasa alami dalam prompt.

Bidang model adalah pilihan rendering utama. Model sora-2 dirancang untuk kecepatan dan iterasi cepat, sementara sora-2-pro menawarkan output berkualitas lebih tinggi, termasuk resolusi 1080p. Parameter size menentukan dimensi output, ditentukan sebagai string {width}x{height}. Resolusi yang didukung bergantung pada model AI yang dipilih. Parameter seconds mengontrol panjang video dan menerima nilai "4", "8", "12", "16", atau "20", dengan "4" sebagai default [6].

ParameterNilai yang DidukungCatatan
modelsora-2, sora-2-prosora-2-pro diperlukan untuk output 1080p
size1280x720, 720x1280, 1920x1080, 1080x1920, 1024x1792, 1792x1024Opsi bervariasi menurut model [6]
seconds"4", "8", "12", "16", "20"Klip yang lebih pendek sering menghasilkan presisi yang lebih baik [6]
variantvideo, thumbnail, spritesheetMenentukan format aset output

Saat mengambil job yang telah selesai, parameter query variant memungkinkan Anda menentukan format output: video lengkap, thumbnail (.webp), atau spritesheet (.jpg) [8]. Frame rate bukanlah parameter tersendiri; sebagai gantinya, efek sinematik seperti "180° shutter" atau "filmic motion blur" dicapai melalui instruksi pada tingkat prompt. Untuk alur kerja berskala besar, Batch API memungkinkan antrian beberapa render video menggunakan parameter metadata yang sama dengan endpoint POST /videos standar [8].

Pengaturan rendering ini melengkapi kerangka kerja metadata, memastikan proses pembuatan video yang konsisten dan sadar konteks.

Kasus Penggunaan Praktis untuk Metadata dalam Video API

Metadata untuk Integrasi Multi-Model

Metadata menyederhanakan proses mengarahkan permintaan ke model yang sesuai berdasarkan persyaratan job tertentu. Misalnya, Anda dapat menggunakan parameter model untuk memilih sora-2 dengan harga $0.10/detik untuk iterasi cepat dan draf tahap awal. Setelah prompt Anda diselesaikan, Anda mungkin beralih ke sora-2-pro dengan harga $0.70/detik untuk output 1080p yang halus dan siap produksi [9]. Platform yang membutuhkan akses ke berbagai model video - seperti Sora, Kling V3, dan lainnya - dapat memanfaatkan API terpadu seperti APIMart. Ini memungkinkan routing multi-model yang mulus melalui satu titik integrasi. Selain itu, karena parameter metadata konsisten di seluruh model, tidak perlu merombak logika permintaan Anda saat beralih di antara mereka.

Strategi penghematan biaya lainnya adalah resolution gating. Misalnya, Anda dapat menetapkan render 720p sebagai default dan menawarkan 1080p sebagai opsi premium, membantu mengelola biaya rendering per detik [7].

Integrasi fleksibel semacam ini juga mendukung pelacakan job yang efisien dan pemrosesan asinkron, yang akan kita jelajahi selanjutnya.

Pelacakan Job dan Permintaan Async

Waktu rendering dapat sangat bervariasi, mulai dari hanya 30 detik hingga beberapa menit, tergantung pada model dan resolusi yang dipilih [9]. Setiap permintaan video menghasilkan objek job yang berisi pengidentifikasi utama seperti id, status, progress, dan expires_at. Bidang-bidang ini memungkinkan untuk memantau proses pembuatan secara asinkron. Bidang expires_at sangat berguna, karena menunjukkan kapan URL unduhan sementara akan kedaluwarsa - biasanya dalam satu jam untuk permintaan standar. Ini memberi Anda cukup waktu untuk mengotomatiskan transfer file yang telah selesai ke solusi penyimpanan tahan lama seperti S3 atau R2 [7].

Untuk alur kerja produksi, webhook adalah pilihan cerdas untuk mengurangi panggilan API dan beban server. Dengan mendengarkan event seperti video.completed dan video.failed, Anda dapat memperlancar operasi Anda. Saat menggunakan Batch API, bidang custom_id dalam file JSONL Anda dapat memetakan hasil kembali ke catatan internal tertentu setelah batch selesai [10]. Memasangkan ini dengan database lokal yang menautkan video_id yang dikembalikan ke tag proyek internal, user ID, atau estimasi biaya menciptakan jejak audit yang jelas. Pengaturan ini tidak hanya membantu debugging tetapi juga menyederhanakan pelacakan finansial [11]. Bersama-sama, praktik-praktik ini memastikan setiap job tercatat dan dapat dipulihkan, membuat proses pembuatan video lebih efisien.

Selain pelacakan, metadata juga memainkan peran kunci dalam mengorganisasi dan mencari aset video.

Katalogisasi dan Optimasi Pencarian

Metadata sangat penting untuk membuat pustaka video yang dapat dicari dan terorganisir dengan baik. Dengan menyimpan detail prompt yang terstruktur - seperti subjek, latar, sudut kamera, dan pencahayaan - bersama dengan video_id dalam database lokal, Anda dapat mengaktifkan pemfilteran dan pengambilan lanjutan yang jauh melampaui pencarian kata kunci dasar [11]. Untuk platform dengan kebutuhan organisasi spesifik, seperti alat e-learning yang menggunakan bidang seperti lesson_number atau difficulty_level, atau tim pemasaran yang menandai aset berdasarkan kampanye, pasangan key-value kustom menawarkan skema fleksibel yang terintegrasi secara mulus dengan logika aplikasi [12].

Bidang remixed_from_video_id menambahkan lapisan organisasi lain dengan melacak garis keturunan kreatif aset. Ini memastikan Anda selalu dapat menelusuri video akhir kembali ke sumbernya [1]. Selain itu, metadata provenance C2PA, yang secara otomatis disertakan dengan setiap output Sora 2, memberikan catatan yang dapat ditelusuri dan diaudit mulai dari draf awal hingga produk akhir. Fitur-fitur ini menyoroti bagaimana metadata menjadi pusat dalam mengelola, mengorganisasi, dan menyesuaikan output video sepanjang seluruh proses pembuatan [7].

Praktik Terbaik untuk Menyusun dan Memvalidasi Metadata

Merancang Skema Metadata

Dalam hal skema metadata, mendapatkan struktur yang tepat sangat penting untuk pembuatan video yang efektif. Pendekatan yang baik adalah menggunakan struktur dua lapis: map metadata yang datar (misalnya, menggunakan BTreeMap di Rust) untuk key standar yang kompatibel secara universal, dan map extra (atau additional_properties) untuk data JSON khusus penyedia atau bersarang [3][14][4]. Pengaturan ini menjaga skema inti tetap bersih dan adaptif sambil memungkinkan konfigurasi spesifik yang disesuaikan untuk masing-masing model. Desain ini secara langsung mendukung kustomisasi dan pelacakan job, sebagaimana dibahas sebelumnya.

Untuk kompatibilitas di berbagai model, gunakan nama key yang sederhana, datar, dan deskriptif. Contoh seperti remixed_from_video_id, user_id, atau project_id mudah diindeks, dicari, dan disimpan dalam database [1][13]. Simpan struktur bersarang untuk map extra guna menangani kebutuhan khusus penyedia tanpa memperumit skema inti.

Untuk parameter terkait video seperti size dan seconds, definisikan sebagai enumerasi string alih-alih membiarkannya terbuka [1][13]. Ini memastikan konsistensi dan menghindari kesalahan selama permintaan dengan menerapkan batasan pada tingkat skema.

Memvalidasi Input Metadata

Validasi input metadata yang tepat adalah keharusan sebelum mengirim permintaan apa pun. Ini mengurangi kemungkinan kegagalan job dan selaras dengan strategi pelacakan serta debugging yang dibahas sebelumnya:

  • Selalu sertakan prompt untuk setiap job pembuatan video [14].
  • Verifikasi bahwa nilai seconds dan size cocok dengan enumerasi yang didukung [1][5].
  • Periksa bahwa nilai progress tetap berada dalam rentang integer 0 hingga 100 [13].

Dalam bahasa yang strongly typed, manfaatkan alat SDK bawaan. Misalnya, VideoCreateParams.Builder di Java memastikan bidang yang diperlukan dan tipe yang benar pada waktu kompilasi [14]. Demikian pula, TypeScript menggunakan literal VideoSeconds untuk menerapkan batasan [2][4]. Pemeriksaan pada waktu kompilasi ini lebih andal daripada hanya mengandalkan validasi pada waktu runtime.

Jika sebuah permintaan gagal, segera parse objek VideoCreateError. Bidang code menyediakan pengidentifikasi yang dapat dibaca mesin untuk penanganan otomatis, sementara bidang message menawarkan penjelasan yang jelas untuk log [1][13]. Ini memudahkan untuk menentukan apakah masalah berasal dari parameter yang buruk, model yang tidak didukung, atau masalah jaringan.

Selain validasi, metadata memainkan peran kunci dalam debugging dan pemantauan kinerja.

Menggunakan Metadata untuk Debugging dan Pemantauan

Metadata bisa sangat berharga untuk mengidentifikasi masalah dan melacak kinerja. Menyertakan timestamp created_at dan completed_at memungkinkan Anda menghitung latensi dan mendeteksi regresi kinerja [1][13]. Misalnya, jika model atau resolusi tertentu secara konsisten membutuhkan waktu lebih lama dari yang diharapkan, timestamp ini dapat membantu mengidentifikasi hambatannya.

Dalam alur kerja iteratif, bidang remixed_from_video_id bisa menjadi penyelamat. Ini membantu menelusuri kesalahan kembali ke sumbernya ketika terjadi pengeditan yang tidak terduga [1][13]. Gabungkan ini dengan polling sisi server pada bidang status - melacak status seperti "queued", "in_progress", "completed", dan "failed" - untuk dengan cepat mendeteksi dan menangani job yang macet [13].

"Perlakukan prompt Anda sebagai daftar keinginan kreatif, bukan kontrak." - Robin Koenig, Joanne Shin, dan Annika Brundyn [6]

Saran ini juga berlaku untuk metadata. Jika sebuah pembuatan gagal, sederhanakan permintaan ke bentuk paling dasarnya - bekukan kamera atau sederhanakan latar belakang - lalu secara bertahap perkenalkan kembali kompleksitas, satu parameter pada satu waktu [6]. Skema yang terorganisir dengan baik membuat proses debugging iteratif ini jauh lebih mudah.

Kesimpulan dan Poin-Poin Penting

Rekap Manfaat Metadata

Metadata memainkan peran krusial dalam mengubah panggilan API menjadi proses yang terorganisir, dapat dilacak, dan dapat diulang - mulai dari saat masuk antrian hingga tahap unduhan akhir [1][13]. Fitur seperti pelacakan kedaluwarsa aset memastikan Anda diberi tahu sebelum URL unduhan kedaluwarsa, sementara objek error dengan bidang code yang dapat dibaca mesin membuat debugging lebih cepat dengan menunjukkan masalah secara instan. Selain itu, map metadata kustom memungkinkan penandaan job dengan pengidentifikasi internal, menyederhanakan katalogisasi dan organisasi [1][3].

Untuk alur kerja yang melibatkan beberapa model, metadata berperan sebagai perekat yang menyatukan segalanya. Ia menautkan pembuatan melalui referensi id, menjaga konsistensi karakter, dan memetakan output batch menggunakan custom_id. Kemampuan-kemampuan ini bergantung pada struktur metadata yang kokoh [1][8]. Dengan keunggulan-keunggulan ini, berikut beberapa langkah konkret untuk menyempurnakan pendekatan Anda.

Langkah Selanjutnya untuk Pengembang

Untuk memaksimalkan kerangka kerja metadata Anda, mulailah dengan mengaudit implementasi Anda saat ini terhadap prinsip-prinsip utama yang dibahas dalam artikel ini. Pastikan expires_at dilacak untuk setiap job, karena URL unduhan hanya valid selama 1 jam setelah pembuatan [8]. Terapkan logika polling dengan status dan progress, atau beralih ke webhook video.completed untuk mengurangi panggilan API yang tidak perlu [8].

Jika Anda mengelola alur kerja di berbagai model, APIMart menawarkan solusi praktis. Ia menyediakan akses ke lebih dari 500 model AI melalui satu API, semuanya terstruktur secara konsisten dengan pola metadata yang diuraikan di sini. Ini menghilangkan kerepotan mengelola integrasi terpisah untuk setiap model dan dapat memperlancar proses pengembangan Anda [13].

FAQ

Bidang metadata apa yang harus saya simpan di database untuk setiap job video?

Untuk memantau job pembuatan video, pastikan untuk menyimpan detail penting seperti ID unik, status, prompt, model, size, dan durasi. Tambahkan timestamp seperti created_at, completed_at, dan expires_at untuk pelacakan yang akurat. Sertakan informasi error apa pun untuk membantu pemecahan masalah. Untuk video yang di-remix, gunakan bidang remixed_from_video_id untuk menelusuri asal aset. Alat seperti APIMart menyederhanakan proses ini dengan menyediakan platform terpusat untuk integrasi dan pengelolaan yang mudah.

Bagaimana cara mempertahankan konsistensi karakter dan gaya di berbagai pembuatan video?

Untuk mempertahankan konsistensi karakter, manfaatkan Characters API dengan membuat referensi dari video yang diunggah. Sertakan character ID yang dihasilkan dalam array character_ids pada permintaan pembuatan Anda. Anda dapat menyertakan hingga dua karakter per pembuatan untuk tujuan ini.

Untuk konsistensi gaya, gunakan endpoint perluasan video (video extension) untuk melanjutkan klip secara mulus sambil menjaga elemen seperti pencahayaan dan depth of field tetap utuh. Untuk mencapai transisi yang halus, pastikan untuk menentukan detail seperti framing kamera, jenis lensa, dan color grading. Faktor-faktor ini membantu memastikan output akhir selaras sempurna dengan video asli Anda.

Apa yang harus saya lakukan sebelum URL unduhan kedaluwarsa?

Saat Anda membuat aset video, perlu diingat bahwa URL unduhan biasanya kedaluwarsa dalam waktu satu jam. Untuk menghindari kehilangan akses, pastikan untuk mengunduh dan menyimpan file Anda ke lokasi yang aman sebelum waktu kedaluwarsa, yang dapat Anda lacak menggunakan bidang expires_at dalam objek video. Untuk pengelolaan aset video yang lebih mudah di seluruh alur kerja Anda, APIMart menyediakan integrasi dengan model AI canggih, membuat tugas seperti pembuatan dan produksi video lebih efisien.

Siap mencoba?

Pilih model yang Anda inginkan di marketplace model

Coba model chat, gambar, dan video di marketplace model APIMart, lalu rasakan kemampuan model dengan cepat melalui satu API terpadu.

Model chatModel gambarModel video
Buka marketplace model