โ† All skills
Tencent SkillHub ยท Developer Tools

Compile LaTex & Typst into PDF with TypeTex

Compile Typst and LaTeX documents to PDF via API. Send source code, get back a PDF.

skill openclawclawhub Free
0 Downloads
0 Stars
0 Installs
0 Score
High Signal

Compile Typst and LaTeX documents to PDF via API. Send source code, get back a PDF.

โฌ‡ 0 downloads โ˜… 0 stars Unverified but indexed

Install for OpenClaw

Quick setup
  1. Download the package from Yavira.
  2. Extract the archive and review SKILL.md first.
  3. Import or place the package into your OpenClaw setup.

Requirements

Target platform
OpenClaw
Install method
Manual import
Extraction
Extract archive
Prerequisites
OpenClaw
Primary doc
SKILL.md

Package facts

Download mode
Yavira redirect
Package format
ZIP package
Source platform
Tencent SkillHub
What's included
examples/compile_typst.py, examples/compile_latex.py, SKILL.md, openapi.yaml

Validation

  • Use the Yavira download entry.
  • Review SKILL.md after the package is downloaded.
  • Confirm the extracted package contains the expected setup assets.

Install with your agent

Agent handoff

Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.

  1. Download the package from Yavira.
  2. Extract it into a folder your agent can access.
  3. Paste one of the prompts below and point your agent at the extracted folder.
New install

I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.

Upgrade existing

I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.

Trust & source

Release facts

Source
Tencent SkillHub
Verification
Indexed source record
Version
1.5.0

Documentation

ClawHub primary doc Primary doc: SKILL.md 16 sections Open source page

Typst & LaTeX Compiler

Compile Typst (.typ) and LaTeX (.tex) documents to PDF using the TypeTex compilation API.

API Endpoint

Base URL: https://studio-intrinsic--typetex-compile-app.modal.run

Compile Typst

POST /public/compile/typst Content-Type: application/json Request Body: { "content": "#set page(paper: \"a4\")\n\n= Hello World\n\nThis is a Typst document.", "main_filename": "main.typ", "auxiliary_files": {} } Response (Success): { "success": true, "pdf_base64": "JVBERi0xLjQK..." } Response (Failure): { "success": false, "error": "error: file not found: missing.typ" }

Compile LaTeX

POST /public/compile/latex Content-Type: application/json Request Body: { "content": "\\documentclass{article}\n\\begin{document}\nHello World\n\\end{document}", "main_filename": "main.tex", "auxiliary_files": {} } Response (Success): { "success": true, "pdf_base64": "JVBERi0xLjQK..." } Response (Failure): { "success": false, "error": "! LaTeX Error: Missing \\begin{document}.", "log_output": "This is pdfTeX..." }

Health Check

GET /public/compile/health Returns {"status": "ok", "service": "public-compile"} if the service is running.

Simple Typst Document

  • import requests
  • import base64
  • response = requests.post(
  • "https://studio-intrinsic--typetex-compile-app.modal.run/public/compile/typst",
  • json={
  • "content": """
  • #set page(paper: "a4", margin: 2cm)
  • #set text(font: "New Computer Modern", size: 11pt)
  • = My Document
  • This is a paragraph with *bold* and _italic_ text.
  • == Section 1
  • Item 1
  • Item 2
  • Item 3
  • """,
  • "main_filename": "main.typ"
  • }
  • )
  • result = response.json()
  • if result["success"]:
  • pdf_bytes = base64.b64decode(result["pdf_base64"])
  • with open("output.pdf", "wb") as f:
  • f.write(pdf_bytes)
  • print("PDF saved to output.pdf")
  • else:
  • print(f"Compilation failed: {result['error']}")

Simple LaTeX Document

import requests import base64 response = requests.post( "https://studio-intrinsic--typetex-compile-app.modal.run/public/compile/latex", json={ "content": r""" \documentclass[11pt]{article} \usepackage[margin=1in]{geometry} \usepackage{amsmath} \title{My Document} \author{Author Name} \begin{document} \maketitle \section{Introduction} This is a LaTeX document with math: $E = mc^2$ \end{document} """, "main_filename": "main.tex" } ) result = response.json() if result["success"]: pdf_bytes = base64.b64decode(result["pdf_base64"]) with open("output.pdf", "wb") as f: f.write(pdf_bytes) else: print(f"Compilation failed: {result['error']}") if result.get("log_output"): print(f"Log: {result['log_output']}")

Multi-File Project (Typst)

import requests import base64 response = requests.post( "https://studio-intrinsic--typetex-compile-app.modal.run/public/compile/typst", json={ "content": """ #import "template.typ": * #show: project.with(title: "My Report") = Introduction #include "chapter1.typ" """, "main_filename": "main.typ", "auxiliary_files": { "template.typ": """ #let project(title: none, body) = { set page(paper: "a4") set text(font: "New Computer Modern") align(center)[ #text(size: 24pt, weight: "bold")[#title] ] body } """, "chapter1.typ": """ == Chapter 1 This is the first chapter. """ } } ) result = response.json() if result["success"]: pdf_bytes = base64.b64decode(result["pdf_base64"]) with open("report.pdf", "wb") as f: f.write(pdf_bytes)

Including Images

For binary files like images, base64-encode them: import requests import base64 # Read and encode an image with open("figure.png", "rb") as f: image_base64 = base64.b64encode(f.read()).decode("utf-8") response = requests.post( "https://studio-intrinsic--typetex-compile-app.modal.run/public/compile/typst", json={ "content": """ #set page(paper: "a4") = Document with Image #figure( image("figure.png", width: 80%), caption: [A sample figure] ) """, "main_filename": "main.typ", "auxiliary_files": { "figure.png": image_base64 } } )

Using curl

# Typst compilation curl -X POST https://studio-intrinsic--typetex-compile-app.modal.run/public/compile/typst \ -H "Content-Type: application/json" \ -d '{ "content": "#set page(paper: \"a4\")\n\n= Hello World\n\nThis is Typst.", "main_filename": "main.typ" }' | jq -r '.pdf_base64' | base64 -d > output.pdf # LaTeX compilation curl -X POST https://studio-intrinsic--typetex-compile-app.modal.run/public/compile/latex \ -H "Content-Type: application/json" \ -d '{ "content": "\\documentclass{article}\n\\begin{document}\nHello World\n\\end{document}", "main_filename": "main.tex" }' | jq -r '.pdf_base64' | base64 -d > output.pdf

Typst

Full Typst language support Multi-file projects with imports Images (PNG, JPG, SVG) Custom fonts (New Computer Modern, etc.) Math equations Tables and figures Bibliography (using Hayagriva format)

LaTeX

Full TeX Live distribution via Tectonic Multi-file projects (\input, \include) BibTeX/BibLaTeX bibliography Custom style files (.sty, .cls) All standard packages (amsmath, graphicx, etc.) TikZ/PGFPlots graphics Images (PNG, JPG, PDF, EPS)

Error Handling

When compilation fails, the response includes: success: false error: Human-readable error message log_output (LaTeX only): Full compilation log for debugging Common errors: Syntax errors: Check your source code for typos Missing files: Ensure all imported/included files are in auxiliary_files Package not found: Most common packages are available; contact support for additions Timeout: Complex documents may timeout after 60 seconds

Rate Limits

No authentication required Please be respectful of shared resources For high-volume usage, contact support

Tips for Agents

Always check success before accessing pdf_base64 Parse errors to provide helpful feedback to users Use minimal documents when testing - complex documents take longer Cache results if compiling the same content multiple times Include all dependencies in auxiliary_files for multi-file projects

Related Resources

Typst Documentation LaTeX Wikibook TypeTex - Full document editor with AI assistance

Category context

Code helpers, APIs, CLIs, browser automation, testing, and developer operations.

Source: Tencent SkillHub

Largest current source with strong distribution and engagement signals.

Package contents

Included in package
2 Scripts1 Docs1 Config
  • SKILL.md Primary doc
  • examples/compile_latex.py Scripts
  • examples/compile_typst.py Scripts
  • openapi.yaml Config