SDK для JavaScript / TypeScript

Официальный клиент @emini-ai/sdk — по одному классу на категорию, те же названия полей, что и в API.

Установка

bash
npm install @emini-ai/sdk

Использование

typescript
import { EminiAI } from "@emini-ai/sdk";

const client = new EminiAI({ apiKey: process.env.EMINI_API_KEY! });

const result = await client.chat.completions.create({
  messages: [{ role: "user", content: "Bonjour" }],
  model: "claude-opus-5",
});
console.log(result.content);

Стриминг

typescript
for await (const chunk of client.chat.completions.stream({
  messages: [{ role: "user", content: "Compte jusqu'a 10" }],
})) {
  process.stdout.write(chunk.delta);
}

Асинхронные задачи (видео)

typescript
const generation = await client.video.generate({ prompt: "un chat qui code" });
const job = await generation.wait(); // sonde /v1/jobs/{id} jusqu'a completion
console.log(job.result_url);

Типизированные ошибки

По одному подклассу на диапазон HTTP-статусов, чтобы не разбирать коды вручную:

typescript
import { InsufficientCreditsError } from "@emini-ai/sdk";

try {
  await client.chat.completions.create({ messages: [/* ... */] });
} catch (err) {
  if (err instanceof InsufficientCreditsError) {
    // credits insuffisants sur le compte (402)
  }
}

См. Справочник по ошибкам для полного списка классов и связанного с каждым HTTP-кода.

Охватываемые ресурсы

chat, images, vision, embeddings, translation, audio, video, jobs, uploads, agents — по одному классу на каждую категорию Gateway.

Исходный код

sdks/js в монорепозитории.