注意
このページで説明している機能は準備中です。内容・仕様は予告なく変わることがあります。
AICU TypeScript SDK
@aicu/api-client - 公式 TypeScript/JavaScript SDK (Coming Soon)
インストール
npm install @aicu/api-client
# or
pnpm add @aicu/api-client
# or
bun add @aicu/api-client
クイックスタート
import { AicuClient } from '@aicu/api-client';
const aicu = new AicuClient('aicu_live_xxx');
// テキストから音声生成
const audio = await aicu.tts.generate({
text: 'こんにちは、世界!',
voice: 'ono_anna',
});
// ファイルに保存
await Bun.write('output.mp3', audio);
// または Web Audio API で再生
const audioUrl = URL.createObjectURL(new Blob([audio], { type: 'audio/mpeg' }));
const audioElement = new Audio(audioUrl);
await audioElement.play();
API リファレンス
AicuClient
const client = new AicuClient(apiKey: string, options?: {
baseUrl?: string; // default: 'https://api.aicu.ai/v1'
timeout?: number; // default: 30000 (ms)
});
tts.generate()
const audio = await client.tts.generate({
text: string; // Required: 読み上げテキスト
voice: string; // Required: 話者ID
language?: string; // Optional: 'Japanese' | 'English' | 'Chinese'
format?: 'mp3' | 'wav'; // Optional: 出力形式
seed?: number; // Optional: 再現性シード
instruct?: string; // Optional: スタイル指示
});
// Returns: ArrayBuffer (audio data)
tts.voices()
const voices = await client.tts.voices();
// Returns: Voice[]
interface Voice {
id: string;
name: string;
description: string;
languages: string[];
}
credits.balance()
const balance = await client.credits.balance();
// Returns: { tap: number; ap: number; total: number }
使用例
Next.js Server Action
// app/actions/tts.ts
'use server';
import { AicuClient } from '@aicu/api-client';
const aicu = new AicuClient(process.env.AICU_API_KEY!);
export async function generateTTS(text: string) {
const audio = await aicu.tts.generate({
text,
voice: 'ono_anna',
});
return Buffer.from(audio).toString('base64');
}
Streaming (Coming Soon)
// 長文の場合、チャンクでストリーミング
const stream = await aicu.tts.stream({
text: longText,
voice: 'ono_anna',
});
for await (const chunk of stream) {
// Process audio chunks
}
エラーハンドリング
import { AicuClient, AicuError } from '@aicu/api-client';
try {
const audio = await aicu.tts.generate({ text, voice: 'ono_anna' });
} catch (error) {
if (error instanceof AicuError) {
switch (error.code) {
case 'UNAUTHORIZED':
console.error('Invalid API key');
break;
case 'INSUFFICIENT_CREDITS':
console.error('Not enough credits');
break;
case 'RATE_LIMITED':
console.error('Rate limit exceeded');
break;
default:
console.error('API error:', error.message);
}
}
}
現在のステータス
SDK は現在開発中です。リリースは News とメールマガジン週刊AICUでお知らせします。
暫定的に REST API を直接使用してください。
Support
- Docs: https://api.aicu.ai/docs
- Contact: https://aicu.ai/contact
© 2026 AICU Inc.