Ringkasan Anda boleh mengakses model video Kling yang disokong melalui CometAPI dengan akaun dan kunci API CometAPI, tanpa perlu melengkapkan aliran onboarding pembangun Kling berasingan. Laluan teks-ke-video semasa ialah POST /kling/v1/videos/text2video. Ia memulangkan ID tugasan, yang perlu dipoling oleh backend anda sehingga tugasan mencapai status succeed atau failed. Ketersediaan model, parameter, harga, dan kelayakan akaun boleh berubah, jadi semak katalog model langsung dan dokumentasi API sebelum penggunaan produksi.
Jawapan terus
Laluan praktikal ialah katalog model Kling CometAPI. Jika model Kling yang anda perlukan tersedia untuk akaun CometAPI anda, pelayan anda boleh mengesahkan dengan kunci API CometAPI dan memanggil titik akhir serasi Kling yang sepadan. Untuk laluan itu, permohonan API Kling berasingan bukan sebahagian daripada langkah integrasi.
Perbezaan ini penting untuk pasukan yang sudah menggunakan CometAPI untuk model lain. Aplikasi mengekalkan satu permukaan pengurusan kelayakan dan satu hubungan penyedia sambil menambah aliran kerja video Kling. Kod anda masih perlu menggunakan skema permintaan khusus video Kling dan kitar hayat tugasan tak segerak; “satu kunci API” tidak bermaksud setiap penyedia berkongsi badan permintaan yang sama.
Artikel ini memfokuskan pada teks-ke-video kerana ini integrasi terkecil yang berguna. CometAPI turut mendokumenkan imej-ke-video dan aliran kerja Kling lain, tetapi setiap satunya mempunyai titik akhir dan kekangan parameternya sendiri. Mulakan dengan satu laluan yang telah disahkan, kemudian tambah keupayaan hanya selepas menyemak dokumentasi semasa.
Mengapa laluan ini boleh berguna untuk pasukan pembangunan
Manfaat segera adalah operasi, bukannya sesuatu yang ajaib. Pasukan yang sudah menggunakan CometAPI boleh menambah aliran kerja Kling yang tersedia tanpa mewujudkan satu lagi integrasi penyedia langsung, mengagihkan satu lagi kelayakan, atau membina laluan pengurusan akaun berasingan. Itu boleh mengurangkan bilangan rahsia, hubungan pengebilan, dan konfigurasi klien khusus penyedia yang perlu dikekalkan oleh platform anda.
Manfaat kedua adalah seni bina. Aplikasi anda boleh mendedahkan kontrak penjanaan video dalaman yang kecil—prompt, aliran kerja, model, pilihan, dan status kerja—manakala penyesuai penyedia menterjemah kontrak tersebut kepada permintaan Kling yang didokumenkan. Jika pasukan kemudian menilai model video lain, model kerja yang menghadap produk boleh kekal stabil walaupun laluan titik akhir, parameter, dan metadata output berbeza.
Limitasi sama penting: lapisan akses yang disatukan tidak menjadikan model asas boleh saling ganti. Gelagat prompt, media yang diterima, latensi, harga, polisi keselamatan, dan skema hasil boleh berbeza. Kekalkan perbezaan tersebut kelihatan dalam konfigurasi dan ujian, bukannya menyembunyikannya di sebalik andaian yang tidak disokong.
Apa yang laluan akses ini ubah—dan apa yang tidak
Apa yang berubah. Anda mencipta dan mengurus kunci CometAPI, menghantar permintaan ke API serasi Kling CometAPI, dan menjejak penggunaan dari sisi CometAPI. Ini menyingkirkan langkah onboarding Kling langsung yang berasingan daripada laluan akses khusus ini.
Apa yang tidak berubah. Kling kekal sebagai keluarga model asas. Parameter khusus penyedia, gelagat penjanaan, peraturan penggunaan yang boleh diterima, ketersediaan model, dan ciri output masih penting. Dokumentasi CometAPI juga menyatakan bahawa medan permintaan dan respons penyedia mungkin berbeza, jadi anggap rujukan titik akhir langsung sebagai kontrak untuk pelaksanaan anda.
Apa yang anda patut sahkan sebelum membuat komitmen. Sahkan bahawa akaun anda boleh mengakses ID model yang diperlukan, semak harga dan had kadar semasa, dan jalankan ujian kecil yang diautentikasi. Jangan mereka bentuk aliran kerja produksi berdasarkan nama model yang ditemui dalam catatan blog lama atau contoh cache.
Sebelum anda mula
Anda memerlukan akaun CometAPI, kunci API yang disimpan pada pelayan anda, dan backend yang mampu menjalankan kerja tak segerak. Simpan kunci dalam pembolehubah persekitaran seperti COMETAPI_KEY; jangan dedahkan ia dalam kod pelayar atau klien mudah alih.
- Buka katalog model Kling dan sahkan model yang anda ingin gunakan kini disenaraikan untuk akaun anda.
- Semak rujukan API teks-ke-video Kling semasa. Pada masa pengesahan, contoh yang didokumenkan menggunakan
kling-v3. - Cipta kunci API sisi pelayan dalam konsol CometAPI dan tetapkannya dalam persekitaran masa jalan anda.
- Putuskan di mana perkhidmatan anda akan menyimpan ID tugasan dan video akhir. Permintaan penjanaan memulangkan tugasan, bukan fail video siap.
Pilih aliran kerja Kling sebelum anda mereka bentuk permintaan
Mulakan daripada aset yang sudah dimiliki produk anda. Jika pengguna hanya mempunyai konsep bertulis, teks-ke-video ialah laluan terus. Jika pengguna mempunyai imej pegun yang patut kekal sebagai sauh visual, gunakan laluan imej-ke-video yang didokumenkan berasingan. Jangan tambah medan imej ke permintaan teks-ke-video dan menganggap API akan mentafsir aliran kerja.
| Aliran kerja | Laluan cipta semasa | Gunakan apabila |
|---|---|---|
| Teks ke video | POST /kling/v1/videos/text2video | Input ialah adegan atau konsep gerakan bertulis dan tiada imej sumber perlu dipelihara. |
| Imej ke video | POST /kling/v1/videos/image2video | Input merangkumi satu imej sumber yang patut memandu gerakan terjana dan identiti visual. |
Rujukan imej-ke-video semasa menerima URL imej awam atau rentetan imej base64 dan memulangkan tugasan tak segerak. Aliran kerja Kling yang lebih khusus mempunyai halaman dan kekangan permintaan sendiri. Tambah satu demi satu hanya apabila keperluan produk dan dokumentasi semasa membenarkan penambahan penyesuai baharu.
Untuk bukti produksi pertama, gunakan satu aliran kerja, satu ID model yang disahkan, durasi pendek, dan set kecil prompt yang mewakili. Ini mengasingkan akses akaun dan orkestrasi tugasan daripada penilaian output yang subjektif. Setelah talian paip boleh dipercayai, bandingkan mod atau model dengan set penilaian tetap dan bukannya menukar beberapa pembolehubah dalam ujian yang sama.
Buat permintaan teks-ke-video Kling pertama anda
Titik akhir teks-ke-video semasa menerima JSON dan pengesahan Bearer. Mulakan dengan prompt pendek dan durasi terkecil yang disokong. Permintaan berikut hanya menggunakan medan yang ditunjukkan dalam rujukan CometAPI semasa:
curl https://api.cometapi.com/kling/v1/videos/text2video \
-H "Authorization: Bearer $COMETAPI_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "A small ceramic cup on a wooden table, steam rising in soft morning light",
"model_name": "kling-v3",
"mode": "std",
"duration": "5",
"sound": "off"
}'
Penyerahan berjaya memulangkan objek yang mengandungi data.task_id dan status tugasan. Simpan ID tugasan tersebut bersama rekod kerja aplikasi anda. Jangan biarkan sambungan HTTP terbuka sementara video dirender.
| Medan | Nilai didokumenkan | Nota pelaksanaan |
|---|---|---|
| model_name | Enum semasa merangkumi kling-v3 dan trek terdahulu | Sahkan enum langsung dan ketersediaan akaun sebelum penggunaan. |
| duration | 5 atau 10 | Mulakan dengan 5 saat untuk mengesahkan aliran kerja. |
| aspect_ratio | 16:9, 9:16, 1:1 | Abaikan hanya jika lalai yang didokumenkan sesuai permukaan hantaran. |
| mode | std atau pro | Rujukan menerangkan pro sebagai kualiti lebih tinggi dan kos lebih tinggi. |
| sound | on atau off | Ini hanya terpakai kepada trek model yang menyokong audio terjana. |
Tangani tugasan tak segerak dengan selamat
Penjanaan Kling adalah tak segerak. Untuk teks-ke-video, poling GET /kling/v1/videos/text2video/{task_id}. Rujukan tugasan CometAPI menyatakan respons boleh memulangkan tugasan secara terus atau dalam sarung data, jadi contoh menormalkan kedua-dua bentuk. Ia juga menganggap setiap status bukan terminal sebagai “teruskan menunggu”, bukannya mengandaikan senarai tetap status perantaraan.
import os
import time
import requests
API_KEY = os.environ["COMETAPI_KEY"]
BASE_URL = "https://api.cometapi.com/kling/v1/videos/text2video"
HEADERS = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json",
}
def submit_video(prompt: str) -> str:
response = requests.post(
BASE_URL,
headers=HEADERS,
json={
"prompt": prompt,
"model_name": "kling-v3",
"mode": "std",
"duration": "5",
"sound": "off",
},
timeout=30,
)
response.raise_for_status()
payload = response.json()
return payload["data"]["task_id"]
def wait_for_video(task_id: str, timeout_seconds: int = 600) -> str:
deadline = time.monotonic() + timeout_seconds
poll_url = f"{BASE_URL}/{task_id}"
while time.monotonic() < deadline:
response = requests.get(poll_url, headers=HEADERS, timeout=30)
response.raise_for_status()
payload = response.json()
task = payload.get("data") or payload
status = task.get("task_status")
if status == "succeed":
videos = task.get("task_result", {}).get("videos", [])
if not videos or not videos[0].get("url"):
raise RuntimeError("Task succeeded without a video URL")
return videos[0]["url"]
if status == "failed":
detail = task.get("task_status_msg") or task.get("task_result")
raise RuntimeError(f"Kling task failed: {detail}")
time.sleep(10)
raise TimeoutError(f"Kling task {task_id} exceeded {timeout_seconds}s")
task_id = submit_video(
"A small ceramic cup on a wooden table, steam rising in soft morning light"
)
video_url = wait_for_video(task_id)
print(video_url)
Rentetan kejayaan terminal ialah succeed, bukan succeeded. Apabila tugasan selesai, salin aset terjana ke storan yang anda kawal jika produk anda memerlukan pengekalan. URL penghantaran penyedia tidak sepatutnya dianggap sebagai storan aplikasi kekal.
Untuk beban kerja yang lebih besar, gunakan barisan atau pekerja dan bukannya memoling dalam permintaan web. CometAPI juga mendokumenkan URL panggilan balik untuk tugasan Kling. Jika anda menggunakan webhook, sahkan dan nyahgandakan peristiwa panggilan balik, dan kekalkan pemoling sebagai sandaran untuk penghantaran yang terlepas.
Reka kitar hayat kerja aplikasi sebelum anda bertambah skala
Anggap tugasan penyedia sebagai satu bahagian rekod kerja anda sendiri. Simpan ID kerja aplikasi, aliran kerja, model yang diminta, ID tugasan penyedia, URL kueri, status semasa, cap masa penyerahan, masa poling terakhir, dan lokasi output. Ini memberikan pasukan sokongan dan operasi konteks mencukupi untuk menyiasat penjanaan yang gagal atau perlahan tanpa mencari log permintaan mentah.
Jangan cuba semula permintaan penciptaan hanya kerana klien tidak menerima respons. Penyedia mungkin sudah mencipta tugasan. Kekalkan kerja tempatan anda sebelum penyerahan, simpan ID tugasan yang dipulangkan serta-merta, dan asingkan cubaan semula penciptaan daripada cubaan semula kueri status. Rujukan teks-ke-video semasa juga mendokumenkan external_task_id untuk penjejakan aplikasi; sahkan gelagat langsungnya sebelum bergantung padanya sebagai mekanisme deduplikasi.
const TERMINAL = new Set(["succeed", "failed"]);
function normalizeKlingTask(payload) {
const task = payload?.data ?? payload;
if (!task?.task_id || !task?.task_status) {
throw new Error("Kling response is missing task identity or status");
}
return task;
}
async function refreshVideoJob(job, apiKey) {
const response = await fetch(job.queryUrl, {
headers: { Authorization: `Bearer ${apiKey}` },
});
if (!response.ok) {
throw new Error(`Task query failed with HTTP ${response.status}`);
}
const task = normalizeKlingTask(await response.json());
const outputUrl = task.task_result?.videos?.[0]?.url ?? null;
return {
...job,
providerTaskId: task.task_id,
providerStatus: task.task_status,
terminal: TERMINAL.has(task.task_status),
outputUrl,
failureDetail: task.task_status_msg ?? null,
checkedAt: new Date().toISOString(),
};
}
Contoh ini sengaja tidak menterjemah setiap kemungkinan status perantaraan penyedia kepada janji produk. Pekerja anda mengekalkan tugasan bukan terminal sebagai aktif, mengendalikan succeed dan failed secara nyata, dan merekod status penyedia mentah untuk penyahpepijatan. Tambahkan had masa aplikasi berasingan supaya tugasan tersekat tidak kekal terbuka selama-lamanya.
Gunakan pemoling sebagai garis dasar kerana ID tugasan boleh ditanya. Apabila titik akhir terpilih menyokong callback_url, webhook dapat mengurangkan permintaan status berulang, tetapi ia tidak sepatutnya menjadi satu-satunya mekanisme pemulihan anda. Panduan pemoling dan webhook rasmi menyatakan bahawa payload panggilan balik boleh khusus penyedia. Simpan peristiwa mentah, jadikan pemprosesan idempoten mengikut ID tugasan, balas HTTP berjaya dengan cepat, dan selaraskan keadaan terminal melalui pemoling.
Senarai semak produksi untuk pasukan pembangun
- Sahkan model pada masa jalan. Semak katalog semasa dan gagal dengan jelas apabila model yang diminta tidak tersedia. Jangan gantikan model lain secara senyap jika gelagat output penting.
- Asingkan penyerahan daripada pengambilan. Simpan ID tugasan CometAPI, ID kerja anda sendiri, model terpilih, dan cap masa supaya cubaan semula tidak mencipta kerja berganda.
- Hadkan pemoling. Gunakan had masa, backoff eksponen atau sela tetap yang munasabah, dan kiraan cubaan semula maksimum. Semak panduan had kadar dan kebersamaan CometAPI sebelum meningkatkan paralelisme.
- Kelaskan ralat. Jangan cuba semula parameter tidak sah atau kegagalan pengesahan. Terapkan backoff kepada ralat had kadar dan platform yang boleh cuba semula, mengikut panduan cubaan semula semasa.
- Lindungi kelayakan dan input. Kekalkan kunci API di sisi pelayan, elakkan melog rahsia, dan sahkan bahawa pengguna mempunyai hak ke atas sebarang prompt, imej, atau aset sumber lain yang mereka serahkan.
- Ukur keseluruhan kerja. Jejak kejayaan penyerahan, masa giliran, masa penjanaan, kadar kegagalan terminal, kadar had masa, kejayaan pengambilan output, dan kos mengikut model dan mod.
- Kekalkan output dengan sengaja. Muat turun aset siap ke storan terkawal anda apabila produk memerlukan akses berkekalan, kemudian gunakan polisi pengekalan dan pemadaman anda.
Soalan Lazim Praktikal
Adakah saya memerlukan akaun pembangun Kling berasingan untuk laluan ini?
Tiada langkah onboarding pembangun Kling berasingan muncul dalam aliran integrasi CometAPI. Anda menggunakan akaun dan kunci API CometAPI. Akses masih bergantung pada model yang tersedia untuk akaun dan rantau CometAPI anda, jadi sahkan itu sebelum komitmen produksi.
Adakah API Kling serasi sepenuhnya dengan OpenAI?
Tidak untuk aliran kerja video yang ditunjukkan di sini. Ia menggunakan laluan khusus Kling seperti /kling/v1/videos/text2video dan medan khusus Kling. Anda boleh mengurus kelayakan melalui CometAPI, tetapi penyesuai anda harus mengekalkan skema khusus penyedia.
ID model Kling mana yang patut saya gunakan?
Rujukan teks-ke-video CometAPI semasa menggunakan kling-v3 dalam contoh kerja pertamanya dan menyenaraikan beberapa trek model terdahulu. Gunakan ID model daripada enum titik akhir langsung dan sahkan bahawa ia didayakan untuk akaun anda. Jangan anggap model terbaharu tersedia di semua tempat.
Mengapa respons pertama tidak mengandungi video?
Penjanaan video berjalan sebagai tugasan tak segerak. Respons awal memulangkan ID tugasan. Poling laluan kueri yang sepadan sehingga task_status menjadi succeed atau failed, kemudian baca metadata hasil.
Patutkah saya memoling atau menggunakan URL panggilan balik?
Pemoling lebih mudah untuk integrasi pertama. Panggilan balik mengurangkan permintaan berulang pada skala tetapi memerlukan penerima yang diautentikasi, idempoten, dan logik pemulihan. Banyak sistem produksi menggunakan panggilan balik sebagai laluan utama dan pemoling sebagai sandaran.
Bolehkah saya menggunakan imej-ke-video melalui titik akhir yang sama?
Tidak. CometAPI mendokumenkan imej-ke-video di bawah laluan berasingan, /kling/v1/videos/image2video. Ikuti skema permintaan titik akhir tersebut dan bukannya menambah medan imej ke contoh teks-ke-video.
Patutkah saya mula dengan mod standard atau profesional?
Gunakan std untuk mengesahkan pengesahan, bentuk permintaan, storan tugasan, pemoling, dan pengambilan output. Rujukan semasa menerangkan pro sebagai mod kualiti lebih tinggi dan kos lebih tinggi. Nilailah dengan prompt yang mewakili hanya selepas aliran kerja asas berfungsi, dan bandingkan kualiti output bersama masa penjanaan dan kos sebenar.
Bagaimana saya boleh mengelak penjanaan pendua semasa cubaan semula?
Cipta rekod kerja aplikasi sebelum memanggil API dan simpan ID tugasan penyedia yang dipulangkan serta-merta. Cuba semula kueri status secara berasingan daripada permintaan penciptaan. Jangan anggap pengulangan POST yang sama adalah idempoten. Titik akhir kini mendokumenkan external_task_id untuk penjejakan, tetapi sahkan semantik semasanya sebelum menganggapnya jaminan deduplikasi.
Kesimpulan
Untuk pasukan pembangunan di AS yang mahu menguji penjanaan video Kling tanpa melengkapkan permohonan pembangun Kling langsung yang berasingan, CometAPI menyediakan laluan yang didokumenkan: sahkan bahawa model Kling yang diperlukan tersedia untuk akaun, sahkan dengan kunci CometAPI, panggil titik akhir khusus aliran kerja, dan jejak tugasan tak segerak sehingga keadaan terminal.
Nilai kejuruteraan praktikal ialah akses berpusat dan model kerja aplikasi yang boleh diguna semula—bukan andaian bahawa setiap penyedia video berkelakuan sama. Kekalkan penyesuai nipis untuk setiap aliran kerja, kekalkan identiti tugasan dan output dengan sengaja, dan kekalkan pemoling sebagai laluan pemulihan walaupun apabila panggilan balik didayakan.
Pelancaran yang selamat adalah kecil dan boleh diukur: sahkan satu model dan satu aliran kerja, serahkan kerja pendek berkos rendah, rekod kadar kejayaan dan kegagalan terminal, sahkan pengambilan output, dan bandingkan kos serta latensi sebenar dengan keperluan produk anda. Kembangkan ke imej-ke-video atau aliran kerja Kling tambahan hanya selepas dokumentasi semasa dan akaun sasaran anda telah disemak.
