0.1.0 • Published 11 months ago
primvoices v0.1.0
Prim Voices API Client
A TypeScript client for interacting with the Prim Voices API.
Installation
npm install primvoicesUsage
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);API Resources
Voices
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
Generations
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
Development
Clone the repository
Install dependencies:
npm installBuild the package:
npm run buildRun tests:
npm test
License
MIT
0.1.0
11 months ago