はじめに
この記事は、さくらのAI Engine に関する話です。自分は昨年、サービスが提供された始めた以下のタイミングで申込みをしていて、使える状態になっているものでした。
それに関して、最近参加したイベント「生成AIなんでも展示会」で見かけたり、またそのブースでクラウドでの音声合成の機能なども APIから呼び出せるという話を聞いて、今回の内容をまずはやってみました。
(あと、このブースで配布されていたクーポンをいただいたりしたのもあって、適用したクーポンの有効期間内でそれを活用してみようかという話もありつつです)
今回試すことと試した結果
OpenAI互換の API という話
今回試す内容は、さくらのAI Engine のモデルの 1つ「gpt-oss-120b」を使った Text to Text に関する内容です。以下に書かれたとおり、OpenAI の API互換で使うことができます(※ API の種類によっては、独自フォーマットのものもあるようでした)。
●さくらのAI Engine | さくらのAI | さくらインターネット
https://www.sakura.ad.jp/aipf/ai-engine/
つまり、過去に試した以下のような、OpenAI の SDK(や、OpenAI の API互換の処理ができる他の SDK)などで使えてしまうということになります。
●OpenAI Agents SDK(TypeScript版)と LM Studio でローカルLLM を使ったエージェントをサクッと試す - Qiita
https://qiita.com/youtoy/items/a5be9f1789cbac1c4047
●「npx create-mastra」で作った Mastra のプロジェクト(ツールを使うエージェントの実装)と LM Studio でのローカルLLM(OpenAI互換API を扱うもの)を組み合わせる - Qiita
https://qiita.com/youtoy/items/09b953f2f1ef91cb6b6e
今回は、記事のタイトルにも書いている「OpenAI TypeScript and JavaScript API Library」を使って試すことにします。
API の動作確認
上記のような SDK・ライブラリを使った話もありますが、まずは公式でも事例が掲載されている curl を使う方法で、API の動作確認をやってみます。
アカウントトークンを作成
API を使うためのキーとなる「アカウントトークン」が必要になります。さくらのAI Engine が使える状態であれば、メニューの以下からアカウントトークンを作成できます。
curl のコマンドと実行結果
公式が掲載している curl のコマンドをベースに、以下の内容で試してみます。
※ Base URL は「 https://api.ai.sakura.ad.jp/v1 」となり、以下では OpenAI の「Chat Completions API(※ Responses API ではなく)」が使われる形のようです
curl --location 'https://api.ai.sakura.ad.jp/v1/chat/completions' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer 【自分が用意したトークン】' \
--header 'Content-Type: application/json' \
--data '{
"model": "gpt-oss-120b",
"messages": [
{ "role": "system", "content": "あなたは誰?" }
],
"temperature": 0.7,
"max_tokens": 200,
"stream": false
}'
上記を実行した結果は、以下のとおりです。
「gpt-oss-120b」が使われ、それに対して Reasoning の過程のデータや、最終出力が返ってきているのが分かります。
API のエンドポイント関連
上記では、エンドポイントの v1 以降が「 /v1/chat/completions 」となっていました。その他、文字起こし(whisper-large-v3-turbo を使うもの)の場合は「 /v1/audio/transcriptions 」で、音声合成(VOICEVOX が使われる形)は「 /v1/audio/speech 」になったりするようです。
(文字起こし・音声合成は今回は試さないですが、また別の機会に試せればと思います)
このあたりの API利用について、関連する公式記事として以下があるようです。
●さくらのAI Engine ことはじめ(1):基本(チャット)機能とRAG、MCPによる自然言語検索 | さくらのナレッジ
https://knowledge.sakura.ad.jp/46949/
●さくらのAI Engineことはじめ(2):音声ファイルの文字起こし | さくらのナレッジ
https://knowledge.sakura.ad.jp/47088/
Node.js で API を使った処理を試す
それでは、Node.js で API を使った処理を試してみます。
下準備
まずは下準備です。下準備の 1つとして、以下の「OpenAI TypeScript and JavaScript API Library」をインストールします。
●openai - npm
https://www.npmjs.com/package/openai
ライブラリのインストールコマンドは、以下のとおりです。さらに、SAKURA_AI_TOKEN という名前の環境変数に、アカウントトークンをセットしておきます。
npm i openai
今回用いるコードと実行結果
API を用いた処理を試すために、今回準備したコードは以下のとおりです。最小限のシンプルなものにしています。
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.ai.sakura.ad.jp/v1",
apiKey: process.env.SAKURA_AI_TOKEN,
});
const chat = await client.chat.completions.create({
model: "gpt-oss-120b",
messages: [{ role: "user", content: "自己紹介して" }],
});
console.log(chat.choices[0].message.content);
上記を node コマンドで実行した結果は、以下のとおりです。
無事、レスポンスを得ることができました。
おわりに
今回、さくらのAI Engine のモデルの 1つ「gpt-oss-120b」を curl・Node.js を使い、シンプルな内容で試しました。
別途、他のライブラリを用いた実装や他の API、今回の API を使った複数ターンのやりとりなども試せればと思います。
その他
利用できるモデルと料金
利用できるモデルと料金は、公式のページを見ると以下になるようです。
気になった公式の記事
今回、あらためて公式の記事を見ていて気になる記事があったので、とりあえずのメモという感じで以下に掲載してみます。
●さくらのAI Engine × Claude CodeではじめるAgentic Coding | さくらのナレッジ
https://knowledge.sakura.ad.jp/49797/
●KiloCode – VS Code向けAIコーディングエージェント 〜さくらのAI Engineを使いこなす:主要クライアント実践ガイド(3)〜 | さくらのナレッジ
https://knowledge.sakura.ad.jp/47798/
●OpenCode – ターミナルで動くClaude Code代替のOSS 〜さくらのAI Engineを使いこなす:主要クライアント実践ガイド(4)〜 | さくらのナレッジ
https://knowledge.sakura.ad.jp/47838/






