Memulai
Kompatibilitas OpenAI SDK
Gunakan SDK resmi OpenAI tanpa perubahan dan bermigrasi dari OpenAI atau API lain yang kompatibel dengan OpenAI cukup dengan mengganti dua nilai.
api14 berbicara dengan API OpenAI. SDK resmi OpenAI mana pun, dan tool apa pun yang menerima base URL OpenAI kustom, bisa langsung dipakai tanpa mengubah kode, Anda hanya mengganti base URL dan API key.
Dua nilai yang perlu diganti
| Pengaturan | Nilai |
|---|---|
| Base URL | https://api14.com/api/v1 |
| API key | key sk-api14-... Anda |
import OpenAI from 'openai'
const client = new OpenAI({
baseURL: 'https://api14.com/api/v1',
apiKey: process.env.API14_API_KEY,
})
import os
from openai import OpenAI
client = OpenAI(base_url="https://api14.com/api/v1", api_key=os.environ["API14_API_KEY"])
Banyak SDK juga membaca environment variable OPENAI_BASE_URL dan OPENAI_API_KEY, sehingga Anda bisa beralih tanpa menyentuh kode sama sekali.
Apa saja yang kompatibel
| Fitur OpenAI | api14 |
|---|---|
chat.completions.create termasuk stream, tools, response_format | Didukung untuk semua model teks |
responses.create | Didukung |
completions.create | Didukung |
embeddings.create | Didukung |
images.generate | Didukung (/images/generations) |
audio.speech.create | Didukung |
audio.transcriptions.create | Didukung (multipart) |
models.list / models.retrieve | Didukung, dengan harga dan kategori |
Format error { error: { message, type, code } } | Sama, SDK melempar APIError seperti biasa |
Endpoint yang hanya ada di OpenAI (Assistants, Threads, fine-tuning, files, batches, vector stores, dan moderations) tidak tersedia.
Migrasi dari OpenAI
- Atur base URL ke
https://api14.com/api/v1dan gunakan key api14 Anda. - Tambahkan prefiks penyedia pada nama model:
gpt-5-minimenjadiopenai/gpt-5-mini,text-embedding-3-smallmenjadiopenai/text-embedding-3-small. - Selesai. Sekarang Anda juga bisa beralih ke penyedia lain hanya dengan mengganti model id, misalnya
anthropic/claude-sonnet-4.5ataugoogle/gemini-2.5-pro.
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api14.com/api/v1",
apiKey: process.env.API14_API_KEY,
});
const result = await client.chat.completions.create({
"model": "openai/gpt-5-mini",
"messages": [
{
"role": "user",
"content": "Explain vector databases in two sentences."
}
]
});
console.log(result.choices[0].message.content);
Migrasi dari API lain yang kompatibel dengan OpenAI
Jika Anda sudah memakai API lain yang kompatibel dengan OpenAI dengan model id berformat provider/model, cukup ganti base URL dan key.
- Ganti base URL Anda saat ini dengan
https://api14.com/api/v1. - Ganti key Anda saat ini dengan key api14 Anda.
- Biarkan semua yang lain: model id, varian (
:free,:online,:nitro,:floor), routingprovider, fallbackmodels,reasoning,plugins,transforms, danusage.
Perbedaan yang perlu diketahui:
- Penagihan memakai saldo USD.
GET /creditsmengembalikantotal_creditsdantotal_usagedalam USD, ditambah fieldbalance_usd. Lihat Info saldo & key. - Biaya pemakaian selalu disertakan. Gateway selalu meminta
usage.costke upstream, sehingga setiap response melaporkan harganya. - Header seperti
HTTP-RefererdanX-Titlediatur oleh gateway; Anda tidak perlu mengirimnya. - URL job video mengarah kembali ke api14 (
/api/v1/videos/{id}), tidak pernah ke upstream. Lihat Video.
Parameter tambahan di SDK
Field yang tidak dikenal oleh OpenAI SDK tetap bisa dikirim:
await client.chat.completions.create({
model: 'openai/gpt-5-mini',
messages: [{ role: 'user', content: 'Hi' }],
// @ts-expect-error api14 extension
provider: { sort: 'price' },
})
client.chat.completions.create(
model="openai/gpt-5-mini",
messages=[{"role": "user", "content": "Hi"}],
extra_body={"provider": {"sort": "price"}},
)
Lihat Provider routing & fallback, Reasoning, dan Pencarian web.