Loading...
Loading...
Access Telnyx LLM inference APIs, embeddings, and AI analytics for call insights and summaries. This skill provides JavaScript SDK examples.
npx skill4agent add team-telnyx/telnyx-ext-agent-skills telnyx-ai-inference-javascriptnpm install telnyximport Telnyx from 'telnyx';
const client = new Telnyx({
apiKey: process.env['TELNYX_API_KEY'], // This is the default and can be omitted
});clientGET /ai/conversationsconst conversations = await client.ai.conversations.list();
console.log(conversations.data);POST /ai/conversationsconst conversation = await client.ai.conversations.create();
console.log(conversation.id);GET /ai/conversations/insight-groups// Automatically fetches more pages as needed.
for await (const insightTemplateGroup of client.ai.conversations.insightGroups.retrieveInsightGroups()) {
console.log(insightTemplateGroup.id);
}POST /ai/conversations/insight-groupsnameconst insightTemplateGroupDetail = await client.ai.conversations.insightGroups.insightGroups({
name: 'name',
});
console.log(insightTemplateGroupDetail.data);GET /ai/conversations/insight-groups/{group_id}const insightTemplateGroupDetail = await client.ai.conversations.insightGroups.retrieve(
'182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
);
console.log(insightTemplateGroupDetail.data);PUT /ai/conversations/insight-groups/{group_id}const insightTemplateGroupDetail = await client.ai.conversations.insightGroups.update(
'182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
);
console.log(insightTemplateGroupDetail.data);DELETE /ai/conversations/insight-groups/{group_id}await client.ai.conversations.insightGroups.delete('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e');POST /ai/conversations/insight-groups/{group_id}/insights/{insight_id}/assignawait client.ai.conversations.insightGroups.insights.assign(
'182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
{ group_id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e' },
);DELETE /ai/conversations/insight-groups/{group_id}/insights/{insight_id}/unassignawait client.ai.conversations.insightGroups.insights.deleteUnassign(
'182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
{ group_id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e' },
);GET /ai/conversations/insights// Automatically fetches more pages as needed.
for await (const insightTemplate of client.ai.conversations.insights.list()) {
console.log(insightTemplate.id);
}POST /ai/conversations/insightsinstructionsnameconst insightTemplateDetail = await client.ai.conversations.insights.create({
instructions: 'instructions',
name: 'name',
});
console.log(insightTemplateDetail.data);GET /ai/conversations/insights/{insight_id}const insightTemplateDetail = await client.ai.conversations.insights.retrieve(
'182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
);
console.log(insightTemplateDetail.data);PUT /ai/conversations/insights/{insight_id}const insightTemplateDetail = await client.ai.conversations.insights.update(
'182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
);
console.log(insightTemplateDetail.data);DELETE /ai/conversations/insights/{insight_id}await client.ai.conversations.insights.delete('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e');GET /ai/conversations/{conversation_id}const conversation = await client.ai.conversations.retrieve('conversation_id');
console.log(conversation.data);PUT /ai/conversations/{conversation_id}const conversation = await client.ai.conversations.update('conversation_id');
console.log(conversation.data);DELETE /ai/conversations/{conversation_id}await client.ai.conversations.delete('conversation_id');GET /ai/conversations/{conversation_id}/conversations-insightsconst response = await client.ai.conversations.retrieveConversationsInsights('conversation_id');
console.log(response.data);POST /ai/conversations/{conversation_id}/messageroleawait client.ai.conversations.addMessage('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', { role: 'role' });GET /ai/conversations/{conversation_id}/messagesconst messages = await client.ai.conversations.messages.list('conversation_id');
console.log(messages.data);queuedprocessingfailedsuccesspartial_successGET /ai/embeddingsconst embeddings = await client.ai.embeddings.list();
console.log(embeddings.data);POST /ai/embeddingsbucket_nameconst embeddingResponse = await client.ai.embeddings.create({ bucket_name: 'bucket_name' });
console.log(embeddingResponse.data);GET /ai/embeddings/bucketsconst buckets = await client.ai.embeddings.buckets.list();
console.log(buckets.data);GET /ai/embeddings/buckets/{bucket_name}const bucket = await client.ai.embeddings.buckets.retrieve('bucket_name');
console.log(bucket.data);DELETE /ai/embeddings/buckets/{bucket_name}await client.ai.embeddings.buckets.delete('bucket_name');num_docsPOST /ai/embeddings/similarity-searchbucket_namequeryconst response = await client.ai.embeddings.similaritySearch({
bucket_name: 'bucket_name',
query: 'query',
});
console.log(response.data);POST /ai/embeddings/urlurlbucket_nameconst embeddingResponse = await client.ai.embeddings.url({
bucket_name: 'bucket_name',
url: 'url',
});
console.log(embeddingResponse.data);GET /ai/embeddings/{task_id}const embedding = await client.ai.embeddings.retrieve('task_id');
console.log(embedding.data);GET /ai/clusters// Automatically fetches more pages as needed.
for await (const clusterListResponse of client.ai.clusters.list()) {
console.log(clusterListResponse.task_id);
}POST /ai/clustersbucketconst response = await client.ai.clusters.compute({ bucket: 'bucket' });
console.log(response.data);GET /ai/clusters/{task_id}const cluster = await client.ai.clusters.retrieve('task_id');
console.log(cluster.data);DELETE /ai/clusters/{task_id}await client.ai.clusters.delete('task_id');GET /ai/clusters/{task_id}/graphconst response = await client.ai.clusters.fetchGraph('task_id');
console.log(response);
const content = await response.blob();
console.log(content);POST /ai/audio/transcriptionsconst response = await client.ai.audio.transcribe({ model: 'distil-whisper/distil-large-v2' });
console.log(response.text);POST /ai/chat/completionsmessagesconst response = await client.ai.chat.createCompletion({
messages: [
{ role: 'system', content: 'You are a friendly chatbot.' },
{ role: 'user', content: 'Hello, world!' },
],
});
console.log(response);GET /ai/fine_tuning/jobsconst jobs = await client.ai.fineTuning.jobs.list();
console.log(jobs.data);POST /ai/fine_tuning/jobsmodeltraining_fileconst fineTuningJob = await client.ai.fineTuning.jobs.create({
model: 'model',
training_file: 'training_file',
});
console.log(fineTuningJob.id);job_idGET /ai/fine_tuning/jobs/{job_id}const fineTuningJob = await client.ai.fineTuning.jobs.retrieve('job_id');
console.log(fineTuningJob.id);POST /ai/fine_tuning/jobs/{job_id}/cancelconst fineTuningJob = await client.ai.fineTuning.jobs.cancel('job_id');
console.log(fineTuningJob.id);GET /ai/modelsconst response = await client.ai.retrieveModels();
console.log(response.data);POST /ai/summarizebucketfilenameconst response = await client.ai.summarize({ bucket: 'bucket', filename: 'filename' });
console.log(response.data);