{ "id": "crsv-i52z8vnqekc", "object": "chat.completion", "created": 1728399621, "choices": [ { "message": { "role": "assistant", "content": { "text": "The content of the PDF is not provided, so a summary cannot be generated." } } } ]}
The Tela SDKs allows you to easily process files, such as PDFs, by creating a completion. Below is an example of processing a PDF document and receiving a file summary.
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 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'), // It is possible to pass a URL, Buffer, Blob, etc. },})
The Tela SDKs provides a stream option, which allows you to consume the stream of the completion. Below is an example of consuming a stream of the completion.
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)const completion = await tela.completions.create<{ document: TelaFile }, { fileSummary: 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))}
The Tela SDKs provides a webhookUrl option, which allows you to receive a webhook when the completion is finished. Below is an example of receiving a webhook when the completion is finished.
{ "id": "crsv-i52z8vnqekc", "object": "chat.completion", "created": 1728399621, "choices": [ { "message": { "role": "assistant", "content": { "text": "The content of the PDF is not provided, so a summary cannot be generated." } } } ]}
Assistant
Responses are generated using AI and may contain mistakes.