/v1/chat/completions
Gunakan dengan OpenAI SDK, Cherry Studio, Cline, Open WebUI, dan sebagian besar klien alat lainnya.
ChinaAPI memberi aplikasi Anda satu endpoint yang kompatibel dengan OpenAI untuk model DeepSeek, Qwen, GLM, Kimi, Doubao, serta model gambar, video, embedding, dan rerank. Pertahankan SDK Anda, ganti endpoint-nya saja, dan kelola penggunaan dari satu dasbor.
Koneksi
https://api.chinaapi.ai
https://api.chinaapi.ai/v1 dan gunakan token ChinaAPI Anda sebagai kunci bearer.
Semua permintaan API menggunakan autentikasi bearer token. Buat token di dasbor, lalu kirimkan dalam header Authorization.
Authorization: Bearer $CHINAAPI_KEY
Content-Type: application/json
Sebagian besar klien OpenAI berfungsi setelah mengubah baseURL. Gunakan nama model yang dipublikasikan di dasbor ChinaAPI Anda.
curl https://api.chinaapi.ai/v1/chat/completions \
-H "Authorization: Bearer $CHINAAPI_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-chat",
"messages": [
{ "role": "user", "content": "Hello" }
]
}'
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.CHINAAPI_KEY,
baseURL: "https://api.chinaapi.ai/v1",
});
const result = await client.chat.completions.create({
model: "deepseek-chat",
messages: [{ role: "user", content: "Hello" }],
});
ChinaAPI dapat meneruskan trafik bergaya OpenAI maupun trafik khusus penyedia. Pertahankan rute terpisah untuk klien yang memerlukan Claude Messages API atau payload yang kompatibel dengan Gemini.
Gunakan dengan OpenAI SDK, Cherry Studio, Cline, Open WebUI, dan sebagian besar klien alat lainnya.
Rutekan payload pesan bergaya Claude sambil tetap menggunakan kunci gateway dan kontrol kuota yang sama.
Gunakan klien yang kompatibel dengan Gemini saat aplikasi Anda bergantung pada struktur permintaan Gemini.
Model video menjawab sebagai task, bukan sebagai satu respons. POST /v1/videos mengembalikan id task dengan "status": "queued", dan GET /v1/videos/{task_id} melaporkan progres sampai task mencapai completed atau failed. Setelah selesai, berkas hasilnya adalah URL bertanda tangan pada metadata.url; URL itu membawa parameter Expires, jadi unduh berkasnya dan jangan menyimpan tautannya. Task yang gagal membawa kode dan pesan error dari upstream di error.code dan error.message, dan itu biasanya cukup untuk melihat field mana yang belum dikirim. POST /v1/video/generations menuju handler yang sama, untuk klien yang sudah ditulis mengikuti path tersebut.
curl https://api.chinaapi.ai/v1/videos \
-H "Authorization: Bearer $CHINAAPI_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "wan2.7-i2v",
"prompt": "the cat turns and walks toward the camera",
"input_reference": "https://example.com/first-frame.jpg",
"size": "1280*720",
"duration": 5
}'
# {"id":"task_9f2c...","task_id":"task_9f2c...","object":"video",
# "model":"wan2.7-i2v","status":"queued","progress":0}
curl https://api.chinaapi.ai/v1/videos/task_9f2c... \
-H "Authorization: Bearer $CHINAAPI_KEY"
# {"id":"task_9f2c...","object":"video","model":"wan2.7-i2v",
# "status":"completed","progress":100,
# "metadata":{"url":"https://.../output.mp4?Expires=..."}}
Hanya model dan prompt yang wajib. Tanpa size dan duration, gateway mengirimkan 1280*720 selama lima detik.
Animasikan gambar diam. input_reference menerima URL gambar yang dapat diakses publik dan menjadi frame pertama; kirimkan size dan duration bersamanya.
Bangun video dari materi referensi. input_reference menerima satu gambar referensi; untuk mengirim beberapa gunakan images, dan video_url menambahkan video referensi — referensi dihitung bersama, maksimal lima. Jangan mengirim input_reference dan images bersamaan, karena gateway hanya menyimpan input_reference.
Sunting klip yang sudah ada lewat prompt. video_url menerima video sumber, yang harus berdurasi 2 sampai 10 detik dalam MP4 atau MOV, dan size menentukan hasilnya.
Gambar referensi masuk ke images, karena keluarga model ini mengabaikan input_reference. Durasi masuk ke seconds, dan parameter vendor masuk ke metadata, di mana resolution hanya 480p atau 720p.
size sebagai lebar dan tinggi yang disambung tanda bintang, seperti 1280*720. Huruf x tidak diterima: 832x480 mengembalikan invalid size: 832x480, example: 1920*1080. duration adalah bilangan bulat detik. Untuk wan2.7-i2v, wan2.7-r2v dan wan2.7-videoedit, gateway melipat size menjadi tingkat resolusi dan upstream hanya punya dua, jadi kirim 1280*720 untuk 720P atau 1920*1080 untuk 1080P; ukuran 480P seperti 832*480 ditolak. wan2.7-t2v menerima nilainya apa adanya.
curl https://api.chinaapi.ai/v1/videos \
-H "Authorization: Bearer $CHINAAPI_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "doubao-seedance-2-5-260628",
"prompt": "the subject slowly turns toward the camera",
"images": ["https://example.com/first-frame.jpg"],
"seconds": "5",
"metadata": {"resolution": "480p"}
}'
curl https://api.chinaapi.ai/v1/videos \
-H "Authorization: Bearer $CHINAAPI_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "doubao-seedance-2-5-260628",
"prompt": "keep the subject from the reference image",
"seconds": "5",
"metadata": {
"resolution": "480p",
"ratio": "16:9",
"content": [
{
"type": "image_url",
"image_url": {"url": "https://example.com/reference.jpg"},
"role": "reference_image"
}
]
}
}'
role dibaca sebagai frame pertama, bukan sebagai referensi: keluarannya mengikuti rasio aspek gambar itu, mengirim ratio bersamanya ditolak dengan InvalidParameter.TaskTypeConstraint, dan seconds bernilai 2 juga ditolak di mode itu, sementara 5 berhasil. generate_audio default-nya true di upstream, jadi file yang kembali punya trek audio kecuali Anda menyetelnya false di metadata. Beri role pada setiap bagian metadata.content untuk memakai mode referensi penuh — hingga 30 gambar, 10 video dan 10 klip audio, input audio saja, dan 30 detik sekali jalan — di mana ratio diterima.
Publikasikan alias model yang ingin digunakan tim Anda, lalu petakan ke saluran upstream, pool fallback, harga, dan grup di dasbor.
ChinaAPI bukan sekadar endpoint penerus. Tersedia kunci, pengguna, grup, kesehatan saluran, log, kuota, dan kontrol penagihan untuk trafik produksi sesungguhnya.
Buat dan putar token, tetapkan grup, dan isolasi trafik pengguna.
Konfigurasikan beberapa saluran upstream sehingga satu alias model tetap bertahan saat penyedia mengalami gangguan.
Lacak status permintaan, penggunaan token, konsumsi kuota, dan detail error di satu tempat.