import Chunkr from "chunkr-ai";
import fs from "fs";
// Initialize the client
const client = new Chunkr({ apiKey: process.env.CHUNKR_API_KEY! });
// 1. Upload a local file
const fileStream = fs.createReadStream("path/to/doc.pdf");
const uploaded = await client.files.create({
file: fileStream,
file_metadata: JSON.stringify({ name: "doc.pdf", type: "application/pdf" }),
});
// 2. Create a parse task using the uploaded file URL
let task = await client.tasks.parse.create({ file: uploaded.url });
console.log(`Task created with ID: ${task.task_id}`);
// 3. Wait for the task to complete
while (!task.completed) {
task = await client.tasks.parse.get(task.task_id);
console.log(`Task status: ${task.status}`);
await new Promise((resolve) => setTimeout(resolve, 3000));
}
// 4. Access the results
if (task.status === "Succeeded") {
console.log("Task completed successfully!");
console.log(`Document has ${task.output?.chunks.length} chunks`);
} else { // Could be "Failed" or "Cancelled"
console.log(`Task status: ${task.status}`);
}