Usiamo i cookie. Cookie e memoria del browser ti mantengono connesso e ricordano le tue preferenze. Con il tuo consenso misuriamo anche come viene usato il sito. Puoi in qualsiasi momento. Consulta la nostra cookie policy.

Compatibilità con l'SDK OpenAI

Per iniziare

Compatibilità con l'SDK OpenAI

Usa gli SDK ufficiali di OpenAI senza modifiche e migra da OpenAI o da un'altra API compatibile cambiando solo base URL e chiave API.

api14 parla l'API di OpenAI. Qualsiasi SDK ufficiale di OpenAI, e qualsiasi strumento che accetti un base URL OpenAI personalizzato, funziona senza modifiche al codice, cambi solo il base URL e la chiave API.

I due valori da cambiare

ImpostazioneValore
Base URLhttps://api14.com/api/v1
Chiave APIla tua chiave sk-api14-...
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"])

Molti SDK leggono anche le variabili d'ambiente OPENAI_BASE_URL e OPENAI_API_KEY, quindi puoi passare ad api14 senza toccare il codice.

Cosa è compatibile

Funzionalità OpenAIapi14
chat.completions.create incl. stream, tools, response_formatSupportato per tutti i modelli di testo
responses.createSupportato
completions.createSupportato
embeddings.createSupportato
images.generateSupportato (/images/generations)
audio.speech.createSupportato
audio.transcriptions.createSupportato (multipart)
models.list / models.retrieveSupportato, con prezzi e categorie
Formato degli errori { error: { message, type, code } }Identico, gli SDK sollevano il loro normale APIError

Gli endpoint che esistono solo su OpenAI (Assistants, Threads, fine-tuning, files, batches, vector stores e moderations) non sono disponibili.

Migrare da OpenAI

  1. Imposta il base URL su https://api14.com/api/v1 e usa la tua chiave api14.
  2. Aggiungi il provider come prefisso ai nomi dei modelli: gpt-5-mini diventa openai/gpt-5-mini, text-embedding-3-small diventa openai/text-embedding-3-small.
  3. Fatto. Ora puoi anche passare a qualsiasi altro provider cambiando l'id del modello, ad esempio anthropic/claude-sonnet-4.5 o google/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);

Migrare da un'altra API compatibile con OpenAI

Se usi già un altro gateway compatibile con OpenAI, cambiano solo il base URL e la chiave.

  1. Sostituisci il base URL con https://api14.com/api/v1.
  2. Sostituisci la tua chiave API con la tua chiave api14.
  3. Mantieni tutto il resto: id dei modelli, varianti (:free, :online, :nitro, :floor), instradamento con provider, fallback con models, reasoning, plugins, transforms e usage.

Differenze da conoscere:

  • La fatturazione si basa su un saldo in USD. GET /credits restituisce total_credits e total_usage in USD, più un campo balance_usd. Vedi Saldo e info sulla chiave.
  • Il costo di utilizzo è sempre incluso. Il gateway richiede sempre usage.cost all'upstream, quindi ogni risposta riporta il proprio prezzo.
  • Gli header come HTTP-Referer e X-Title vengono impostati dal gateway; non devi inviarli tu.
  • Gli URL dei job video puntano ad api14 (/api/v1/videos/{id}), mai all'upstream. Vedi Video.

Parametri aggiuntivi negli SDK

I campi che l'SDK di OpenAI non conosce possono comunque essere inviati:

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"}},
)

Vedi Instradamento dei provider e fallback, Ragionamento e Ricerca web.