Images
const res = await theo.images({
prompt: "A minimalist tech logo, blue and white",
style: "photorealistic",
aspect_ratio: "1:1",
count: 2,
});
for (const img of res.images) {
console.log(img.url, img.engine);
}
Video (Async)
Video generation is asynchronous. The API returns a job ID to poll.const job = await theo.video({
prompt: "A 5-second animation of a rocket launch",
duration: "5s",
style: "cinematic",
});
// Poll until complete
const result = await theo.waitForJob(job.job_id);
console.log(result.result); // Video URL
Code
const res = await theo.code({
prompt: "Write a TypeScript Express middleware for JWT auth",
language: "typescript",
framework: "express",
});
console.log(res.content); // Generated code
console.log(res.artifacts); // Any files created
Research (Async)
Research is asynchronous — it involves web searching and source synthesis.const job = await theo.research({
prompt: "Compare React, Vue, and Svelte for enterprise apps in 2026",
depth: "advanced",
max_sources: 10,
});
const result = await theo.waitForJob(job.job_id, 3000, 120_000);
console.log(result.result); // Full research report with citations
Documents
const res = await theo.documents({
prompt: "Create a Q1 2026 sales report with executive summary",
format: "pdf", // or "docx", "pptx", "xlsx", "csv"
});
console.log(res.title); // "Q1 2026 Sales Report"
console.log(res.download_url); // Presigned S3 URL
console.log(res.content); // Document text content
