WaveSpeedAI JavaScriptSDKの使い方
WaveSpeedAI JavaScript SDKは、Node.jsおよびTypeScriptアプリケーションにAI画像・動画生成を簡単に統合できる方法を提供します。このガイドでは、始めるために必要なすべてをカバーしています。
前提条件
始める前に、以下を確認してください:
- Node.js 18以上がマシンにインストールされていること
- wavespeed.ai/settings/api-keysから取得したWaveSpeedAI APIキー
インストール
npmを使用してSDKをインストールします:
npm install wavespeed
またはyarnを使用:
yarn add wavespeed
認証の設定
SDKはリクエストを認証するためにAPIキーが必要です。2つのオプションがあります:
オプション1:環境変数(推奨)
WAVESPEED_API_KEY環境変数を設定します:
export WAVESPEED_API_KEY="your-api-key-here"
その後、SDKを直接使用します:
import wavespeed from "wavespeed";
const output = await wavespeed.run("wavespeed-ai/z-image/turbo", { prompt: "Cat" });
オプション2:APIキーを直接渡す
Clientクラスをインポートし、APIキーをコンストラクタに渡します:
import { Client } from "wavespeed";
const client = new Client("your-api-key-here");
最初の画像を生成する
Z-Image Turboを使用して画像を生成する完全な例を示します:
import wavespeed from "wavespeed";
const output = await wavespeed.run(
"wavespeed-ai/z-image/turbo",
{ prompt: "A serene mountain landscape at sunset with golden light" }
);
console.log(output["outputs"][0]); // 生成された画像へのURL
run()メソッドは、リクエストの送信、完了のためのポーリング、結果の返却という全体のワークフローを処理します。
ファイルのアップロード
画像から動画への変換など、入力画像が必要なワークフローの場合は、upload()メソッドを使用してWaveSpeedAIがアクセスできるURLを取得します:
import wavespeed from "wavespeed";
// ローカル画像ファイルをアップロード
const imageUrl = await wavespeed.upload("./my-image.png");
// アップロードされた画像を動画生成に使用
const video = await wavespeed.run(
"wavespeed-ai/wan-2.1/image-to-video",
{
image: imageUrl,
prompt: "Camera slowly zooms in while clouds move in the background"
}
);
console.log(video["outputs"][0]); // 生成された動画へのURL
設定オプション
クライアントオプション
クライアントを初期化するときの再試行動作を設定します:
import { Client } from "wavespeed";
const client = new Client(process.env.WAVESPEED_API_KEY, {
maxRetries: 3, // 失敗したリクエストの最大再試行回数
maxConnectionRetries: 5, // 接続エラーの最大再試行回数
retryInterval: 1.0 // 再試行間の秒数
});
実行オプション
個々のrun()呼び出しを設定します:
import wavespeed from "wavespeed";
const output = await wavespeed.run(
"wavespeed-ai/z-image/turbo",
{ prompt: "A cute orange cat wearing a tiny hat" },
{
timeout: 60, // 完了を待つ最大秒数
pollInterval: 0.5, // ステータスチェック間の秒数
enableSyncMode: true // 利用可能な場合は同期モードを使用
}
);
さまざまなモデルの使用
テキストから画像へ
テキスト説明から画像を生成します:
import wavespeed from "wavespeed";
const output = await wavespeed.run(
"wavespeed-ai/z-image/turbo",
{
prompt: "A futuristic cityscape with flying cars and neon lights",
size: "1024x1024"
}
);
画像から動画へ
静止画を動画に変換します:
import wavespeed from "wavespeed";
const imageUrl = await wavespeed.upload("./landscape.jpg");
const video = await wavespeed.run(
"wavespeed-ai/wan-2.1/image-to-video",
{
image: imageUrl,
prompt: "Gentle wind blowing through the trees"
}
);
テキストから動画へ
テキストから直接動画を生成します:
import wavespeed from "wavespeed";
const video = await wavespeed.run(
"wavespeed-ai/wan-2.1/t2v-480p",
{
prompt: "A golden retriever running through a field of flowers"
}
);
TypeScriptの使用
SDKはTypeScript定義を含みます。型安全な例を示します:
import wavespeed from "wavespeed";
interface GenerationOutput {
outputs: string[];
timings?: Record<string, number>;
}
const output: GenerationOutput = await wavespeed.run(
"wavespeed-ai/z-image/turbo",
{ prompt: "An astronaut riding a horse on Mars" }
);
const imageUrl: string = output.outputs[0];
console.log(imageUrl);
エラーハンドリング
本番環境向けアプリケーションの場合、再試行を設定してエラーを適切に処理します:
import { Client } from "wavespeed";
const client = new Client(process.env.WAVESPEED_API_KEY, {
maxRetries: 3,
maxConnectionRetries: 5,
retryInterval: 1.0
});
try {
const output = await client.run(
"wavespeed-ai/z-image/turbo",
{ prompt: "A beautiful sunset over the ocean" },
{ timeout: 120 }
);
console.log("Generated:", output.outputs[0]);
} catch (error) {
console.error("Generation failed:", error.message);
}
リソース
- GitHubリポジトリ: github.com/WaveSpeedAI/wavespeed-javascript
- npmパッケージ: npmjs.com/package/wavespeed
- APIドキュメンテーション: docs.wavespeed.ai
- モデルライブラリ: wavespeed.ai/models
今すぐWaveSpeedAIで構築を始めて、AI駆動の画像・動画生成をJavaScriptアプリケーションにもたらしましょう。




