BaruArahkan agen apa pun ke UberLLM — satu key, semua model, harga resmi atau lebih murah.
UberLLM

Vercel AI SDK

Vercel AI SDK mengakses UberLLM melalui penyedia resminya @ai-sdk/openai-compatible. Setiap model chat di katalog berfungsi dengan generateText dan streamText, dan model gambar berfungsi dengan generateImage.

Contoh-contoh di bawah ini dijalankan terhadap API langsung dengan ai 7.0 dan @ai-sdk/openai-compatible 3.0.


Instal

npm i ai @ai-sdk/openai-compatible zod

Buat API key di Dashboard → Keys dan masukkan ke UBERLLM_API_KEY. Akun dimulai dari $0, jadi isi saldo sebelum panggilan pertama.

Siapkan penyedia

import { createOpenAICompatible } from "@ai-sdk/openai-compatible";

export const uberllm = createOpenAICompatible({
  name: "uberllm",
  apiKey: process.env.UBERLLM_API_KEY,
  baseURL: "https://api.uberllm.dev/v1",
  includeUsage: true, // token usage on streamed responses too
});

apiKey dikirim sebagai Authorization: Bearer <key>. ID model adalah ID yang ada di uberllm.dev/models, misalnya deepseek/deepseek-v4-flash, anthropic/claude-sonnet-5.5 atau openai/gpt-5.5.


Hasilkan teks

import { generateText } from "ai";

const { text, usage } = await generateText({
  model: uberllm("deepseek/deepseek-v4-flash"),
  prompt: "Say hello in one short sentence.",
});
console.log(text, usage);

usage.raw.cost_usd adalah biaya panggilan, dalam dolar AS.

Streaming ```ts

import { streamText } from "ai";

const result = streamText({ model: uberllm("deepseek/deepseek-v4-flash"), prompt: "Count from 1 to 5.", }); for await (const delta of result.textStream) { process.stdout.write(delta); } console.log(await result.usage);


---
## Pemanggilan Alat

```ts
import { generateText, tool, stepCountIs } from "ai";
import { z } from "zod";

const { text, steps } = await generateText({
  model: uberllm("deepseek/deepseek-v4-flash"),
  tools: {
    weather: tool({
      description: "Get the current temperature in a city, in Celsius",
      inputSchema: z.object({ city: z.string() }),
      execute: async ({ city }) => ({ city, celsius: 21 }),
    }),
  },
  stopWhen: stepCountIs(3), // call the tool, then answer
  prompt: "What is the temperature in Paris right now?",
});
console.log(text);

Sebagian besar model chat mendukung alat. Halaman model di uberllm.dev menyatakan kapan suatu model tidak mendukungnya.


Gambar

Model gambar menggunakan uberllm.imageModel(...) dengan generateImage. SDK meminta b64_json, jadi gambar akan kembali dalam respons.

import { generateImage } from "ai";

const { image } = await generateImage({
  model: uberllm.imageModel("black-forest-labs/flux.2-klein-4b"),
  prompt: "A red bicycle on a white background",
  size: "1024x1024",
});
// image.uint8Array holds the PNG

ID gambar tercantum di bawah Gambar di uberllm.dev/models. Model pengeditan (ID yang berakhiran -edit) membutuhkan POST /v1/images/edits, yang @ai-sdk/openai-compatible tidak panggil. Gunakan panggilan REST di Buat video atau gambar untuk itu.

Video dan musik

@ai-sdk/openai-compatible tidak memiliki model video atau musik. Video dan musik adalah tugas: mulai satu dengan POST /v1/videos (atau /v1/music), lalu lakukan polling atau dapatkan callback. Lihat Buat video atau gambar, atau biarkan agen melakukannya melalui server MCP.

Harga

Setiap panggilan dikenakan biaya sesuai yang dibebankan oleh penyedianya. Tidak ada biaya UberLLM untuk permintaan. Penambahan kredit melalui kartu dikenakan biaya 5.5% + $0.50. Untuk membatasi biaya panggilan chat, kirimkan provider.max_price dalam request body melalui providerOptions:

await generateText({
  model: uberllm("deepseek/deepseek-v4-flash"),
  prompt: "Hi",
  providerOptions: { uberllm: { provider: { max_price: { prompt: 0.2, completion: 0.4 } } } },
});

Lihat Harga dan Model & routing.