Skip to main content
@acedatacloud/sdk は Ace Data Cloud の公式 TypeScript / JavaScript SDK で、api.acedata.cloud 上のすべてのサービスを型付きの client.openai.chat.completions.create(...)、client.images.generate(...)、client.search.google(...) などのメソッドにラップし、SSE ストリーミング、リトライバックオフ、型付き例外を備えています。 Node.js、Deno、Bun、そしてモダンブラウザ(バンドラー付き)で使用できます。 ソースコードとパッケージのアドレス:

インストール

X402 チェーン上での支払いが必要な場合(API トークンなしのパス)、もう一つインストールします:
クリーンな npm プロジェクトのバージョンチェック出力:
結果の説明:
  • パッケージのバージョンは 2026.504.2(CalVer、2026 年第 504 回 ISO 週の第 2 回修正)。
  • AceDataCloud はクライアントを構築するための主なクラスで、デフォルトエクスポートからアクセスできます。

API トークンの準備

参考 SDK 概要 - API トークンの取得 からトークンを取得し、シェルで export します:
クライアントを構築する際に apiToken を渡さないと、SDK は自動的に ACEDATACLOUD_API_TOKEN 環境変数を読み取ります。もしあなたの環境に ACEDATACLOUD_API_KEY(プロジェクトリポジトリの規約)がすでに保存されている場合は、明示的に渡すこともできます:new AceDataCloud({ apiToken: process.env.ACEDATACLOUD_API_KEY })。

例 1:chat.completions(非ストリーミング)

プログラムの実行結果:
結果の説明:
  • id chatcmpl-DldCcLvkTFaioST8e6SjOl0wJScQA は OpenAI 互換のレスポンス ID で、コンソールの 使用履歴 で対応する記録を検索できます。
  • content ADC_TS_SDK_OK はモデルが実際に返した固定識別子で、レスポンスが SDK によって改ざんされていないことを証明します。
  • 一回のチャット完了で約 22 トークンを消費し、gpt-4o-mini の単価で課金されます。
  • SDK はレスポンスを Record<string, unknown> として宣言し、実行時には JSON オブジェクトになります。.id / .choices[0].message.content のようなドットアクセスは .mjs、Node REPL、Bun で動作します;厳密な TypeScript プロジェクトでは (res as any).id または tsconfig で noImplicitAny をオフにする必要があるかもしれません。

例 2:chat.completions(SSE ストリーミング)

stream: true を有効にすると、create は非同期イテレーターを返し、各フレームは ChatCompletionChunk です。
プログラムの実行結果:
結果の説明:
  • 最初のフレームの遅延 2481 ms はモデルが最初のトークンを生成するのにかかる時間で、以降の 12 フレームは 135 ms 内にすべて到達しました。
  • 13 フレームを合わせると "1 2 3 4 5" になり、各トークンが個別のフレームとして生成され、最後のフレームには finish_reason が含まれます。
  • ストリーミングは非ストリーミングよりもトークンを節約するわけではありませんが、最初のトークンの遅延が大幅に短縮され、リアルタイム UI に適しています。

例 3:images.generate(NanoBanana)

client.images.generate({ provider: 'nano-banana', ... }) は直接同期的に返され、wait パラメータを渡す必要はありません——NanoBanana API 自体が同期生成です。
プログラムの実行結果:
結果の説明:
  • image_url は CDN 上の安定したアドレスで、直接 <img src /> またはダウンロードできます。
  • 16.6 秒の間、大部分の時間はモデルの推論にかかり、ローカル SDK のオーバーヘッドは無視できます。
  • trace_id はプラットフォームが割り当てたリクエスト ID で、問題が発生した場合はこの ID をカスタマーサポートに提供することで迅速に特定できます。
  • 非同期サービス(Midjourney、Sora、Veo など)には TaskHandle のポーリングが必要で、詳細は SDK タスクポーリングとストリーミングレスポンス を参照してください。

例 4:型付きエラーハンドリング

SDK は HTTP ステータスに応じてエラーを具体的なサブクラス(AuthenticationError / BadRequestError / RateLimitError / InternalServerError / APIConnectionError など)としてスローし、instanceof を使用して正確に分岐できます。
プログラムの実行結果:
結果の説明:
  • 401 は自動的に AuthenticationError にマッピングされ、ビジネスコードは instanceof を使って正確に分岐できます。
  • code: invalid_token は PlatformGateway から来ており、バックエンドのログと照合しやすくなっています。
  • 同様に 429 → RateLimitError、400 → BadRequestError、5xx → InternalServerError。

サンプル 5:複数モデルのルーティング

同じクライアントは複数のサービス間で自由に切り替え可能で、モデル名が一致していれば大丈夫です。
プログラムの実行結果:
結果の説明:
  • 一つのコード、一つのトークンで、OpenAI / Google / DeepSeek / xAI の四種類のモデルサービスをカバーします。
  • gemini-2.5-flash は今回 ADC_OK を返さなかったのは、モデル自身の出力スタイルの違いによるもので、SDK は何も静かに飲み込まず、モデルの元の言葉をビジネスに忠実に透過させています。
  • 価格はそれぞれの実際のトークン単価で課金され、パスは一度だけ PlatformGateway を通ります。

サンプル 6:Google 検索

プログラムの実行結果:
結果の説明:
  • 一度のリクエストで 10 件のオーガニック結果を取得し、フィールド名は organic(organic_results ではありません)。
  • 検索は Serp サービス を通じて行われ、課金はリクエストごとに行われます。
  • 同じクライアントインスタンスはチャットも検索もでき、トークンは一つで十分です。

設定オプション

ブラウザでの使用

@acedatacloud/sdk は ESM + ISO(同構)パッケージで、バンドラーを持つ現代のブラウザで直接 import できます。注意:フロントエンドコードに API トークンをハードコーディングしないでください。フロントエンドの推奨:
  1. X402 paymentHandler を使用する —— ユーザーポケットが USDC をリクエストごとに署名し、トークンは不要です。
  2. または、自分のサーバーで SDK を使用し、ブラウザは自分のバックエンドを呼び出すだけで済みます。

進階:タスクポーリングとストリーミングレスポンス

  • タスク型サービス(Midjourney、Sora、Veo、Suno):TaskHandle を使用してポーリングし、単位、タイムアウト、再試行の詳細は SDK タスクポーリングとストリーミングレスポンス を参照してください。
  • ストリーミングチャット:このページのサンプル 2 で示されています;ストリーミングオーディオ / ビデオも同様にサポートされています。

進階:X402 支払いフック

API トークンを申請したくない、リクエストごとにオンチェーンで支払いたい場合は、paymentHandler を使用できます:
createX402PaymentHandler は TypeScript 側で { network, evmProvider, evmAddress, preferScheme? }(EVM チェーン)または { network: 'solana', solanaWallet }(Solana)を受け入れます。Node サーバー側で window.ethereum がない場合は、viem の createWalletClient(秘密鍵に基づく)を使用して EIP-1193 互換のプロバイダーをラップして渡してください;詳細な方法と実際のオンチェーン結果は SDK + X402 支払いフック を参照してください。

残高を確認する方法

Ace Data Cloud コンソール - アプリケーションリスト を通じて、現在のアカウントの残高を確認できます。 Ace Data Cloud コンソール - 使用履歴 を通じて、すべての使用履歴と課金の詳細を確認できます。

さらに詳しく