cookbook / pandoc
Pandoc
A document converter with LaTeX, for a skill that has to produce a file, not just a plan for one.
- document
- testing
Run it
briq_run({
recipe: "pandoc",
params: {
"size": "medium"
},
wait: true
})briq run pandoc
briq ls
briq logs -f <id>
briq rm <id>import { Briq } from '@briq/sdk';
const briq = new Briq(process.env.BRIQ_API_KEY);
const pandoc = await briq.run({
recipe: 'pandoc',
params: {
"size": "medium"
},
});
console.log(pandoc.outputs.PANDOC_HOST);
// ... when done
await briq.destroy(pandoc.id);Parameters
| Name | Type | Options | Default |
|---|---|---|---|
| size | enum | small, medium, large | "medium" |
Outputs
Returned by briq_run once the stack is healthy. Hosts resolve inside your team network; secrets are generated per run.
- PANDOC_HOST
- pandoc.<stack>.internal
- WORKDIR
- /work
What it runs
| Briq | Image | Ports | Size | Volume |
|---|---|---|---|---|
| pandoc | pandoc/latex:latest | — | medium | 5 GB at /work |
When to use it
- A skill file's last step is "produce a PDF" or "convert this to a deck", and the agent has no app that can actually do that — it can describe the procedure, not run it.
- You want the same conversion available across a whole session: write a file, convert it, read the result back, repeat, without paying container start-up cost each time.
- The output needs LaTeX-quality typesetting, not a browser's print-to-PDF.
This recipe keeps a single pandoc/latex container running so the agent can briq_exec as many
conversions as it needs against it. The volume is 5 GB, mounted at /work.
Tips
- Move files in and out with the file API.
briq_files_putthe source to/work/input.md,briq_execwithpandoc /work/input.md -o /work/output.pdf, thenbriq_files_get/work/output.pdf. - Pick an engine for anything beyond plain text. Add
--pdf-engine=xelatexfor Unicode or custom fonts; the defaultpdflatexcovers everything else. - Batch it. Multiple
briq_execcalls against the same briq are cheaper and faster than spinning up a fresh container per file — that is the whole point of keeping it running. - It has no ports. There is nothing to
briq_expose; every interaction goes throughbriq_execand the file API.