The Tela SDK for JavaScript provides a simple and powerful way to interact with the Tela API. This SDK allows you to create chat completions, handle file uploads, and manage various resources with ease.
You can install the Tela SDK via npm, yarn, or pnpm:
npm install @meistrari/tela-sdk-js
yarn add @meistrari/tela-sdk-js
pnpm add @meistrari/tela-sdk-js
First, you need to import the SDK and initialize it with your API key:
import { createTelaClient } from '@meistrari/tela-sdk-js'
const tela = createTelaClient({ apiKey: 'your-api-key' })
This example demonstrates how to create a simple completion using a PDF document:
import { createTelaClient } from '@meistrari/tela-sdk-js'
import type { TelaFile } from '@meistrari/tela-sdk-js'
const tela = createTelaClient({
apiKey: process.env.TELA_API_KEY,
})
async function run() {
const completion = await tela.completions.create<{ document: TelaFile }, { fileSummary: string }>({
canvasId: process.env.TELA_CANVAS_ID,
variables: {
document: tela.createFile('https://www.wmaccess.com/downloads/sample-invoice.pdf'),
},
stream: false,
})
console.log(JSON.stringify(completion, null, 2))
}
run().catch(console.error)
This example shows how to create a chat completion with a simple message:
import { createTelaClient } from '@meistrari/tela-sdk-js'
const tela = createTelaClient({
apiKey: process.env.TELA_API_KEY,
})
async function run() {
const completion = await tela.completions.create({
canvasId: process.env.TELA_CANVAS_ID,
messages: [{ role: 'user', content: 'Hello!' }],
})
console.log(JSON.stringify(completion, null, 2))
}
run().catch(console.error)
This example demonstrates how to create a completion that sends the result to a webhook URL:
import { createTelaClient } from '@meistrari/tela-sdk-js'
const tela = createTelaClient({
apiKey: process.env.TELA_API_KEY,
})
async function run() {
const webhook = await tela.completions.create({
canvasId: process.env.TELA_CANVAS_ID,
variables: {
document: tela.createFile('https://www.wmaccess.com/downloads/sample-invoice.pdf'),
},
webhookUrl: 'https://webhook.site/4294967295',
stream: false,
})
console.log(JSON.stringify(webhook, null, 2))
}
run().catch(console.error)
This example shows how to handle streaming responses:
import fs from 'node:fs'
import { createTelaClient } from '@meistrari/tela-sdk-js'
import type { TelaFile } from '@meistrari/tela-sdk-js'
const tela = createTelaClient({
apiKey: process.env.TELA_API_KEY,
})
const PATH = 'examples/stream/sample-invoice.pdf'
const fileStream = fs.createReadStream(PATH)
async function run() {
const completion = await tela.completions.create<{ document: TelaFile }, { summary: string }>({
canvasId: process.env.TELA_CANVAS_ID,
variables: {
document: tela.createFile(fileStream),
},
stream: true,
})
for await (const chunk of completion) {
console.log(JSON.stringify(chunk))
}
}
run().catch(console.error)
Creates a new instance of the TelaSDK.
-
options
(TelaSDKOptions): Configuration options for the SDK.
completions.create<CanvasVariables, CanvasStructuredOutput>(params: CompletionCreateParams<CanvasVariables>, opts?: RequestOptions): Promise<CompletionCreateResponse<CanvasStructuredOutput>>
Creates a chat completion with various input options and response formats.
-
params
(CompletionCreateParams): The parameters for creating a chat completion. -
opts
(RequestOptions): Additional request options.
We welcome contributions to the Tela SDK! Please see our contributing guide for more information.