TypeScript client for the Prim Voices API
npm install primvoicesA TypeScript client for interacting with the Prim Voices API.
``bash`
npm install primvoices
`typescript
import { Client } from 'primvoices';
// Initialize the client
const client = new Client({
apiKey: 'your-api-key',
// Optional: override the base URL
// baseURL: 'https://custom-api-url.com'
});
// Working with Voices
async function voiceExamples() {
// List all voices
const voices = await client.voices.list();
console.log('Your voices:', voices.data);
// List public voices
const publicVoices = await client.voices.listPublic();
console.log('Public voices:', publicVoices.data);
// Create a new voice
const newVoice = await client.voices.create({
name: 'My Custom Voice',
sampleUrl: 'https://example.com/sample.wav'
});
console.log('Created voice:', newVoice.data);
// Get a specific voice
const voice = await client.voices.retrieve('voice_id');
console.log('Voice details:', voice.data);
// Get a public voice
const publicVoice = await client.voices.retrievePublic('public_voice_id');
console.log('Public voice details:', publicVoice.data);
}
// Working with Generations
async function generationExamples() {
// List all generations
const generations = await client.generations.list();
console.log('All generations:', generations.data);
// Create a new text-to-speech generation
const newGeneration = await client.generations.create({
voiceId: 'voice_id',
text: 'Hello, this is a test generation.',
quality: 'high',
notes: 'Read in a friendly tone'
});
console.log('Created generation:', newGeneration.data);
// Create a voice cloning generation
const voiceClone = await client.generations.create({
voiceId: 'voice_id',
sourceUrl: 'https://example.com/source-audio.wav',
quality: 'voice'
});
console.log('Created voice clone:', voiceClone.data);
`
- client.voices.list() - List all voices for the authenticated userclient.voices.listPublic()
- - List all public voicesclient.voices.create(params)
- - Create a new voiceclient.voices.retrieve(voiceId)
- - Get a specific voiceclient.voices.retrievePublic(voiceId)
- - Get a specific public voiceclient.voices.delete(voiceId)
- - Delete a voice
- client.generations.list() - List all generationsclient.generations.create(params)
- - Create a new generationclient.generations.retrieve(generationId)
- - Get a specific generationclient.generations.delete(generationId)
- - Delete a generation
1. Clone the repository
2. Install dependencies:
`bash`
npm install
3. Build the package:
`bash`
npm run build
4. Run tests:
`bash``
npm test
MIT