1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

さくらのAI Engine のモデルの 1つ「gpt-oss-120b」を curl・Node.js で少し試す(OpenAI TypeScript and JavaScript API Library を利用)

1
Last updated at Posted at 2026-05-08

はじめに

この記事は、さくらの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/

2026-05-08_08-55-59.jpg

つまり、過去に試した以下のような、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 が使える状態であれば、メニューの以下からアカウントトークンを作成できます。

2026-05-07_16-57-18.jpg

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
  }'

上記を実行した結果は、以下のとおりです。

2026-05-07_13-00-38.jpg

「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

2026-05-08_09-55-41.jpg

ライブラリのインストールコマンドは、以下のとおりです。さらに、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 コマンドで実行した結果は、以下のとおりです。

2026-05-08_10-01-14.jpg

無事、レスポンスを得ることができました。

おわりに

今回、さくらのAI Engine のモデルの 1つ「gpt-oss-120b」を curl・Node.js を使い、シンプルな内容で試しました。

別途、他のライブラリを用いた実装や他の API、今回の API を使った複数ターンのやりとりなども試せればと思います。

その他

利用できるモデルと料金

利用できるモデルと料金は、公式のページを見ると以下になるようです

2026-05-08_08-57-25.jpg

2026-05-08_08-57-37.jpg

気になった公式の記事

今回、あらためて公式の記事を見ていて気になる記事があったので、とりあえずのメモという感じで以下に掲載してみます。

●さくらの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/

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?