attention
La fonctionnalité décrite sur cette page est en préparation. Son contenu et ses spécifications peuvent changer sans préavis.
SDK TypeScript AICU
@aicu/api-client - le SDK officiel TypeScript/JavaScript (bientôt disponible)
Installation
npm install @aicu/api-client
# ou
pnpm add @aicu/api-client
# ou
bun add @aicu/api-client
Démarrage rapide
import { AicuClient } from '@aicu/api-client';
const aicu = new AicuClient('aicu_live_xxx');
// Générer de la parole à partir d'un texte
const audio = await aicu.tts.generate({
text: 'こんにちは、世界!',
voice: 'mei',
});
// L'enregistrer dans un fichier
await Bun.write('output.mp3', audio);
// Ou le lire avec la Web Audio API
const audioUrl = URL.createObjectURL(new Blob([audio], { type: 'audio/mpeg' }));
const audioElement = new Audio(audioUrl);
await audioElement.play();
Référence de l'API
AicuClient
const client = new AicuClient(apiKey: string, options?: {
baseUrl?: string; // par défaut : 'https://api.aicu.ai/v1'
timeout?: number; // par défaut : 30000 (ms)
});
tts.generate()
const audio = await client.tts.generate({
text: string; // Obligatoire : le texte à prononcer
voice: string; // Obligatoire : ID de la voix
language?: string; // Facultatif : 'Japanese' | 'English' | 'Chinese'
format?: 'mp3' | 'wav'; // Facultatif : format de sortie
seed?: number; // Facultatif : seed pour la reproductibilité
instruct?: string; // Facultatif : indication de style
});
// Renvoie : ArrayBuffer (données audio)
tts.voices()
const voices = await client.tts.voices();
// Renvoie : Voice[]
interface Voice {
id: string;
name: string;
description: string;
languages: string[];
}
credits.balance()
const balance = await client.credits.balance();
// Renvoie : { tap: number; ap: number; total: number }
Exemples
Server Action Next.js
// 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: 'mei',
});
return Buffer.from(audio).toString('base64');
}
Streaming (bientôt disponible)
// Pour un texte long, diffuser l'audio par morceaux
const stream = await aicu.tts.stream({
text: longText,
voice: 'mei',
});
for await (const chunk of stream) {
// Traiter les morceaux audio
}
Gestion des erreurs
import { AicuClient, AicuError } from '@aicu/api-client';
try {
const audio = await aicu.tts.generate({ text, voice: 'mei' });
} 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);
}
}
}
État actuel
Le SDK est encore en développement. Nous annoncerons sa sortie dans les Actualités et dans notre newsletter, Weekly AICU.
En attendant, appelez directement l'API REST.
Support
- Documentation : https://api.aicu.ai/docs
- Contact : https://aicu.ai/contact
© 2026 AICU Inc.