Aller au contenu principal
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​

© 2026 AICU Inc.