別の記事サイトにて、Genspark CLiを試したことを書きました。
今回は、それをさらに発展させて、Genspark APIを呼び出すライブラリを開発したので、紹介したいと思います。
Genspark API Client LIbrary
GitHubリポジトリは次の場所にあります。
Genspark APIをJavaScript環境でスムーズに扱うためのライブラリです。
「外部パッケージに依存せず、サクッとプロジェクトに組み込めること」をコンセプトにしており、以下のような特徴を持っています。
-
1ファイル完結・依存なし:genspark_api.js をプロジェクトにコピーするだけ。npm install 地獄や依存パッケージの競合に悩まされません(内部では標準の fetch のみを使用)。
-
ESモジュール対応:import 構文で即利用可能。
-
直感的な便利メソッド:素のAPIを叩くための executeTool メソッドに加え、Web検索、画像解析、ファイルアップロード、AI Drive操作などを簡単に呼び出せる専用メソッドを用意しています。
基本的にはGensparkCLIのgskコマンドのソースコードの作法を参考にして、Gemini=25%:ClaudeOpus=25%:手動=50%で実装したものです。
APIキーの取得はGenspark公式から案内されていますが、APIの公開は見当たりません。(Genspark公式が案内を忘れている可能性もあり)
そのため、有志による非公式ライブラリという立ち位置です。それでもよければご利用ください。
クイックスタート:Web検索を試してみる
APIキーの取得
使う前に、Gensparkの公式サイトでAPIキーを取得してください。これはGenspark CLIでログインしたものとは別です。ご自身の用途に応じて、APIキーを必ず取得して下さい。
トップページ左下のアイコンをクリックし、「設定」をクリックします。
表示されたダイアログから、「APIキー」をクリックし、「新しいキーを作成」ボタンをクリックします。
表示されたAPIキーをコピーして、どこかにメモしておいてください。
アプリやプログラムで使う場合、開発をなさったことがある方なら注意事項をすでにおわかりでしょう。
OSの環境変数 GSK_API_KEY にAPIキーを登録するか、 .env ファイルなどに記載してください。
実際のコードサンプル
使い方は非常にシンプルです。Gensparkの公式サイトからAPIキーを取得したら、あとは数行のコードを書くだけで実行できます。
APIキーについてはコードに書くこともできますが、これは危ないのでやめてください。(どこにも公開しない自分だけのスクリプトならOK)
ライブラリでは、GSK_API_KEYが環境変数として定義されているかどうかを自動的にチェックしています。ですので、GensparkClientの宣言時に apiKey をあえて設定しなくても問題ありません。
import { GensparkClient } from './genspark_api.js';
// クライアントの初期化
const client = new GensparkClient({
apiKey: 'gsk_xxxxxxx', // 取得したAPIキーを指定
});
// 便利メソッドでWeb検索を実行
const { results } = await client.webSearch('AIの最新ニュース');
console.log(results);
// 以下は汎用的なツール呼び出し方です。
const result = await client.executeTool('search', { q: "AIの最新ニュース" });
console.log(result);
たったこれだけで、Gensparkの強力な検索機能を自作のアプリに組み込むことができます。
Genspark CLIのgskコマンドでは、次のコマンドに相当します。
gsk search "AIの最新ニュース"
こんな機能も使えます
単純な検索以外にも、Genspark APIの多様なツール群に対応するメソッドをラップしています。
-
画像・音声解析:analyzeImage() や transcribeAudio() で、ローカルファイルやURLからサクッとメディア解析。
-
AI Drive操作:driveList() や driveUploadFile() で、Genspark上のストレージ(AI Drive)を操作。
-
メディア生成(ストリーミング対応):画像や動画、音声の生成もできます。結果はプログラムで扱いやすく、省メモリなBase64チャンクのストリームとして受け取る機能も搭載。
// 例:ローカルの画像をアップロードして解析
import fs from 'fs';
const blob = new Blob([fs.readFileSync('photo.jpg')], { type: 'image/jpeg' });
const { summary } = await client.analyzeLocalImage(blob, 'この画像の服装を説明して');
console.log(summary);
主要な機能はgskコマンドの表記に極力合わせているので、Genspark CLIを導入して、使い慣れた後でもプログラムやスクリプトでスムーズに理解が進むと思います。
web検索
CLI: gsk image_search [検索クエリ]
API: GensparkClient.imageSearch([検索クエリ])
画像検索
CLI: gsk understand_images -i [URL] -r [指示]
API: GensparkClient.analyzeImage([URL])
画像解析
CLI: gsk crawler [URL]
API: GensparkClient.crawler([URL])
Webページ取得(クロール)
CLI gsk drive ls -p [パス]
API: GensparkClient.driveList([パス])
AIドライブのフォルダ一覧取得
CLI: gsk drive get_readable_url -p [ファイルパス]
gsk download [取得したURL]
API: GensparkClient.driveGetFile([ファイルパス])
AIドライブのファイル取得
※gskコマンドの場合、通常なら2つのコマンドを組み合わせないといけませんが、このライブラリならdriveGetFile一つでいきなりファイルの中身を取得できます。
すべてを単独のメソッドでカバーはしきれない(今後もgskコマンドや公式API自体の変更がある可能性)です。
そのため、汎用的に使えるメソッドexecuteToolを用意しています。
株価を取得するstock_priceの例
CLI: gsk stock_price META
API: Genspark.executeTool("stock_price", { symbol: "META"})
詳しい使い方は README にて
ここで紹介したのはごく一部の機能です。
APIの詳しい仕様や、各メソッドの引数・戻り値、ストリーミングの受け取り方などの詳細なドキュメントは、リポジトリの README.md にまとめてあります。
ぜひ、実際のコードやREADMEをご覧いただき、皆さんのアプリ開発にGensparkを組み込んで遊んでみてください!
テストスクリプトもあるので、実行してみてください。
ただし、一度にすべてテストしてしまうとクレジット消費が危ないため、あえて各テストの呼び出し部分はコメントアウトしてあります。
ご自身で必要な箇所だけコメントを解除して、「node test_genspark_api.js」を実行して確認してみてください。
まとめ
今後は、Genspark CLI(https://www.npmjs.com/package/@genspark/cli)の更新を随時チェックし、APIの更新に対応していこうと思います。
いきなりプログラムやスクリプトで使ってください、というのはなかなかに大変です。
なので、まずはGenspark CLIをインストールし、コマンドプロンプトやバッチファイルでgskコマンドを使ってみてください。
ウェブサイトにアクセスして、わざわざチャットして尋ねるよりも、圧倒的に目的を達成しやすくなるのを実感するはずです。(そもそもバッチファイルなどはそういう効果があります)
画像生成を使いたい人でも、わざわざブラウザを開いてチャット形式で頼むより、たとえばバッチファイルにgskコマンドを書いておけば、あとはそのバッチファイルを実行するだけですぐ画像生成を利用できます。
多くの画像を揃える必要があるゲーム開発・小説の挿絵なども、あらかじめバッチファイルにgskコマンドを書き溜めておくことで、プロンプトを書き換えて使い回すこともできるのです。
Gensparkはもはや単なる生成AIのサービスではなく、こうした細々とした機能にAIをトッピングして利便性を向上させた、総合的な検索サービスなのでしょう。
栄枯盛衰が早いAI界隈、Gensparkが今後も保つように応援したいものです。


