GPT-6 Sol & Claude Opus 5.5 kini tersediaGPT-6 Sol: setengah harga 5.6 Sol

Kling 3.0 API: kode permintaan teks ke video dan klip nyata

Tugas teks ke video cukup satu POST dengan model kling-3.0. Berikut kode permintaannya, field yang diterima, dan dua klip 5 detik yang kami buat pada 29 Oktober 2026 beserta hasil ukurnya.

Kiki, OmniaKey COO7 menit baca
Di halaman ini

Tugas teks ke video di Kling 3.0 adalah satu POST ke https://api.omniakey.com/v1/media/tasks dengan model kling-3.0, operasi text_to_video, dan dua parameter wajib: duration (5, 10, atau 15 detik) dan mode (std atau pro). Balasannya membawa id tugas; periksa sampai berhasil, lalu unduh MP4. Pada 29 Oktober 2026 kami membuat dua klip 5 detik mode std berukuran 1280×720 dan mengukur file serta frame-nya.

Apa saja yang dibutuhkan permintaan Kling 3.0

Ada tujuh field di body permintaan. Dua di antaranya, duration dan mode, wajib untuk Kling dan menentukan panjang klip serta kelas kualitas.

FieldYang dikirim
modelkling-3.0
typevideo
operationtext_to_video
input.promptadegan, aksi, dan kamera dalam satu string
parameters.duration5, 10, atau 15, dalam detik bulat
parameters.modestd atau pro
parameters.aspect_ratio16:9, 9:16, atau 1:1

Kirim field dan nilai seperti di tabel; jangan lewatkan dua field wajib. Contoh di halaman model sendiri mengirim duration 6 dan field resolution berisi 720p, dan keduanya tidak berlaku di sini: halaman itu hanya menerima 5, 10, atau 15 detik dan menyatakan tidak ada field resolusi terpisah (halaman model, diperiksa 29 Oktober 2026). Bagian tanya jawabnya memetakan keluaran standard ke 720P dan pro ke 1080P.

Audio tersedia secara default, dan halaman tidak mencantumkan tombol untuk mematikannya (diperiksa 29 Oktober 2026). Rasio aspek berlaku untuk teks ke video; gambar ke video mengambil bentuk dari frame pertama dan menolak rasio yang ditulis eksplisit. Dua percobaan ini memakai std, 5 detik, dan 16:9; mode pro, 10 dan 15 detik, 9:16 dan 1:1, gambar ke video, serta frame terakhir berada di luar keduanya.

Kata-kata prompt menentukan adegan, aksi, dan kamera. Panduan prompt Kling 3.0 membahas bagian-bagian prompt dan bahasa kamera.

Kode permintaan

Satu file Python mengirim body, memeriksa tugas, dan mengunduh MP4. File ini membaca kunci dari OMNIAKEY_API_KEY, menaruh Idempotency-Key acak pada permintaan pembuatan, dan menunggu 5 detik di antara pemeriksaan, hingga 180 percobaan. Body-nya membawa field dan nilai yang sama dengan dua klip di bagian berikutnya: model kling-3.0, type video, operation text_to_video, duration 5, mode std, rasio 16:9. Hanya pustaka standar Python yang dipakai, jadi tidak perlu memasang SDK atau dependensi lain.

python
import json
import os
import time
import urllib.error
import urllib.request
import uuid

API = "https://api.omniakey.com/v1/media/tasks"
KEY = os.environ["OMNIAKEY_API_KEY"]

def request(method, url, body=None, extra_headers=None):
    headers = {"Authorization": f"Bearer {KEY}", "User-Agent": "omniakey-example/1"}
    data = None
    if body is not None:
        headers["Content-Type"] = "application/json"
        data = json.dumps(body).encode()
    headers.update(extra_headers or {})
    req = urllib.request.Request(url, data=data, headers=headers, method=method)
    with urllib.request.urlopen(req, timeout=120) as resp:
        return json.load(resp)

def poll(url, attempts=5):
    for attempt in range(attempts):
        try:
            return request("GET", url)
        except urllib.error.HTTPError as err:
            if err.code < 500 or attempt == attempts - 1:
                raise
        except urllib.error.URLError:
            if attempt == attempts - 1:
                raise
        time.sleep(5 * (attempt + 1))

def text_to_video(prompt, out_path, duration=5, mode="std", aspect_ratio="16:9"):
    body = {
        "model": "kling-3.0",
        "type": "video",
        "operation": "text_to_video",
        "input": {"prompt": prompt},
        "parameters": {"duration": duration, "mode": mode, "aspect_ratio": aspect_ratio},
    }
    task = request("POST", API, body, {"Idempotency-Key": str(uuid.uuid4())})["id"]
    print("task", task, flush=True)
    for _ in range(180):
        time.sleep(5)
        state = poll(f"{API}/{task}")
        if state["status"] not in ("queued", "processing"):
            break
    if state["status"] != "succeeded":
        raise RuntimeError(state.get("error") or state["status"])
    asset_url = state["assets"][0]["url"]  # tautan bertanda tangan berumur pendek, unduh sekarang
    req = urllib.request.Request(asset_url, headers={"User-Agent": "omniakey-example/1"})
    with urllib.request.urlopen(req, timeout=300) as resp, open(out_path, "wb") as f:
        f.write(resp.read())
    return task

if __name__ == "__main__":
    task = text_to_video(
        "A paper boat drifts slowly down a rain-soaked street at dusk. Warm streetlights reflect on "
        "the wet cobblestones. The camera follows the boat at a steady pace. No people, no text.",
        "paper-boat.mp4",
    )
    print("done", task)

Setiap pemeriksaan adalah GET ke alamat tugas, dan perulangannya mengikuti status, bukan progress.percent, yang bisa tetap 0 selama klip dirender. Begitu status keluar dari queued dan processing, kode berhenti: succeeded membawa ke unduhan dari assets[0].url, dan status lain melempar pesan error milik tugas itu sendiri. Unduhan harus langsung dilakukan karena tautan asetnya berumur pendek; saat kedaluwarsa, periksa tugas lagi untuk tautan baru. Pemeriksaan yang kena koneksi terputus atau error server (5xx) diulang sampai lima kali, dengan jeda yang makin panjang.

Kami menjalankan file ini sekali lagi pada 29 Oktober 2026 dengan pengaturan yang sama. Percobaan pertama kehilangan koneksi saat polling, itulah sebabnya pemeriksaan sekarang mengulang. Jalankan kedua mengembalikan tugas task_PNB1kPopriUyfcHsXhVWY2hBOEoSUIqM, dan MP4-nya terukur 5.04 detik pada 1280×720 dengan track AAC stereo. Dari pembuatan sampai unduhan butuh 807 detik, dibandingkan 82.2 dan 110.7 detik untuk dua klip di bawah, jadi sediakan waktu untuk penantian panjang.

Dua klip yang kami buat

Kedua permintaan dikirim pada 29 Oktober 2026 dengan body di atas. Tugas perahu kertas adalah task_cbOtsBxO75cml3nOmVUu9YG3PkYXW2ja dan tugas teko adalah task_M2Ub1EoCaCUa1FjOZDdWDOuEOS9nRjnt. Setiap prompt dikirim persis seperti yang ditulis. Simpan id tugas untuk menelusuri masalah.

Perahu kertas

prompt
A paper boat drifts slowly down a rain-soaked street at dusk. Warm streetlights reflect on the wet cobblestones. The camera follows the boat at a steady pace. No people, no text.
Frame dari klip perahu kertas: perahu kertas lipat di batu jalan yang basah saat senja, dengan pantulan lampu jalan yang hangat.
Frame dari klip perahu kertas dalam urutan waktu. Kling 3.0, teks ke video, 5 detik, mode standard, 16:9, dibuat 29 Oktober 2026.

Teko

prompt
A ceramic teapot sits on a wooden table by a window. Steam rises in slow curls. Soft morning light moves across the table. The camera pushes in slowly. No people, no text.
Frame dari klip teko: teko berglasir hijau di meja kayu dekat jendela, dengan uap yang naik.
Frame dari klip teko dalam urutan waktu. Kling 3.0, teks ke video, 5 detik, mode standard, 16:9, dibuat 29 Oktober 2026.

Apa yang terukur dari file

Sebuah alat klip mengukur setiap unduhan pada 29 Oktober 2026.

  • Perahu kertas — Ukuran: 1280×720; Frame rate: 24.0 fps; Durasi: 5.04 s; Audio: AAC, 2 kanal, 44.1 kHz; Level rata-rata: −50.9 dB; Level maksimum: −34.0 dB; Potongan: tidak ada
  • Teko — Ukuran: 1280×720; Frame rate: 24.0 fps; Durasi: 5.04 s; Audio: AAC, 2 kanal, 44.1 kHz; Level rata-rata: −54.3 dB; Level maksimum: −35.9 dB; Potongan: tidak ada
  • Klip dari kode — Ukuran: 1280×720; Frame rate: 24.0 fps; Durasi: 5.04 s; Audio: AAC, 2 kanal, 44.1 kHz; Level rata-rata: −48.4 dB; Level maksimum: −20.0 dB; Potongan: tidak ada

Dua klip pertama sangat lirih: level rata-rata −50.9 dB dan −54.3 dB, dengan puncak −34.0 dB dan −35.9 dB. Klip dari kode lebih keras, dengan rata-rata −48.4 dB dan puncak −20.0 dB. Kami hanya mengukur level; isi track-nya berada di luar pengukuran. Detektor perubahan shot tidak menemukan potongan kuat atau lemah di ketiganya, jadi setiap klip berjalan sebagai satu shot. Ketiganya punya ukuran, frame rate, dan durasi yang sama, jadi tidak perlu konversi saat membandingkan.

Apa yang terlihat di frame

Kedua klip mengikuti prompt, dan teko menambahkan satu gerakan kecil sendiri.

Di klip perahu kertas, perahu tetap dekat bagian tengah frame selama 5.04 detik sementara jalan basah bergeser di belakangnya, jadi shot-nya terbaca sebagai kamera yang mengikuti perahu. Pantulan lampu jalan yang hangat tetap ada di batu sampai frame terakhir (frame diperiksa 29 Oktober 2026). Tidak ada potongan yang memutus gerakan itu.

Di klip teko, uap naik dalam gulungan lambat lalu memudar, dan cahaya pagi bergerak melintasi meja kayu. Teko berakhir lebih besar dan lebih ke arah kanan bawah daripada awalnya, yang terbaca sebagai push-in dengan sedikit pergeseran ke samping; prompt meminta push-in lambat, dan pergeseran itu tidak diminta prompt (frame diperiksa 29 Oktober 2026).

Frame pertama dan terakhir klip teko, berdampingan. Teko lebih besar dan lebih ke kanan di frame terakhir.
Kiri: frame pertama klip teko. Kanan: frame terakhir. Teko membesar di dalam frame, itulah push-in yang diminta prompt, dengan sedikit pergeseran ke samping.

Error dan batasan

Durasi di luar 5, 10, dan 15 mengembalikan HTTP 400 model_price_error, dan tidak ada job yang dibuat (dokumentasi API video, diperiksa 29 Oktober 2026). Kirim detik bulat dari tiga nilai yang diizinkan.

Permintaan pembuatan tanpa Idempotency-Key mengembalikan 400 missing_idempotency_key; kuncinya bisa sampai 255 karakter. Kunci yang sama dengan body yang sama mengembalikan tugas yang sudah ada dengan HTTP 200 dan tidak ada tagihan baru, sedangkan body yang diubah dengan kunci itu mengembalikan 409 idempotency_key_reused (ringkasan API media, diperiksa 29 Oktober 2026).

Pada 29 Oktober 2026, POST dengan User-Agent bawaan urllib Python mengembalikan HTTP 403 dengan body error code: 1010 dari Cloudflare, dan header User-Agent kami sendiri sampai ke API. Setel User-Agent pada permintaan pembuatan dan pada unduhan.

Tautan keluaran berumur pendek: periksa tugas lagi untuk assets[].url yang baru, jangan simpan tautannya (dokumentasi API video, diperiksa 29 Oktober 2026). Catatan tugas disimpan 24 jam setelah pembuatan (ringkasan API media, diperiksa 29 Oktober 2026).

Kling 3.0 ditagih per pembuatan, bukan per detik (dokumentasi API video, diperiksa 29 Oktober 2026). Untuk tarif terkini, lihat halaman harga OmniaKey.

Pertanyaan umum

Durasi apa yang diterima kling-3.0?

5, 10, dan 15 detik. Nilai lain mengembalikan HTTP 400 model_price_error dan tidak membuat job (dokumentasi API video, diperiksa 29 Oktober 2026).

Apa bedanya std dan pro?

Halaman model menyebutnya Standard dan Pro, serta memetakan keluaran standard ke 720P dan pro ke 1080P (diperiksa 29 Oktober 2026). Kami hanya menjalankan std, jadi kami belum punya selisih terukur antara keduanya.

Apakah klipnya punya suara?

Setiap klip membawa track AAC dengan dua kanal pada 44.1 kHz. Dua klip pertama sangat lirih, dengan level rata-rata −50.9 dB dan −54.3 dB; klip dari kode lebih keras, dengan rata-rata −48.4 dB dan puncak −20.0 dB. Kami hanya mengukur level dan tidak mengidentifikasi isi track-nya.

Bisakah saya memulai klip dari sebuah gambar?

Halaman model mencantumkan gambar ke video dengan frame pertama dan frame terakhir opsional (diperiksa 29 Oktober 2026). Frame pertama menentukan rasio aspek, dan rasio yang ditulis eksplisit ditolak pada operasi itu.

Berapa lama sebuah klip dibuat?

Dalam dua percobaan kami pada 29 Oktober 2026, perahu kertas selesai dalam 110.7 detik dan teko dalam 82.2 detik. Keduanya klip std 5 detik pada 16:9.

Mulai dari halaman model Kling 3.0 dan kirim body yang sama dengan prompt Anda sendiri.

Model di artikel ini

Kling 3.0video AIAPI videoteks ke videoAPI

Artikel terkait

Artikel terbaru