The First Language for Building Agents
Typescript made JavaScript 10x more reliable.
BAML makes your ai pipelines 10x more reliable.
Works with every LLM provider
And every language

Basically A Made-Up Language







Complete Development Workflow
Discover how BAML transforms AI development in four easy steps
Define your prompts functions
Yes, we made a whole VSCode extension for BAML.
Test your prompts functions
Call your prompts functions from any programming language you love
baml-cli generate
Python
from baml_client import b
result = b.AnalyzeCodebase("<html>...</html>")
print(result)
Deploy your Agent
Empower Your AI Development
Build AI applications with type safety, generate TypeScript types, and validate your schemas.
class Resume {
name string
title string
}
function ExtractResume(resume: string) -> Resume
resume = b.ExtractResume(resume)print(resume.education)
Type-Safe AI Interfaces
Define AI interfaces with confidence. Write BAML schemas that generate TypeScript types automatically.
Extract the person's name and job title from this resume text...


Structured Outputs
Get type-safe, validated responses from any LLM. Support for JSON, XML, YAML, and more output formats.
β
Testing ResumeParser...β
Testing SentimentAnalyzer...β
Testing CodeReviewer...β
All Agents tested successfully
Test Your Agents in CI/CD
Test your agents in CI/CD pipelines to ensure they are working as expected.
Automatic Retry and Fallback
Automatically retry failed requests and provide fallback responses when errors occur.
People love BAML
And so do agents
BAML is amazing. I've used it in Python and Typescript. It's a game changer.

Adam Gitzes
Amazon
Just set up baml for my project, 10/10 experience and much faster than langchain.

Jason Fan
Finic.ai
It's amazing!! Was able to cut down my tokens and time-to-first-token significantly without compromising results.

Ray del Vecchio
Cerebral Valley
BAML is amazing. I've used it in Python and Typescript. It's a game changer.

Adam Gitzes
Amazon
Just set up baml for my project, 10/10 experience and much faster than langchain.

Jason Fan
Finic.ai
It's amazing!! Was able to cut down my tokens and time-to-first-token significantly without compromising results.

Ray del Vecchio
Cerebral Valley
BAML is amazing. I've used it in Python and Typescript. It's a game changer.

Adam Gitzes
Amazon
Just set up baml for my project, 10/10 experience and much faster than langchain.

Jason Fan
Finic.ai
It's amazing!! Was able to cut down my tokens and time-to-first-token significantly without compromising results.

Ray del Vecchio
Cerebral Valley
BAML is amazing. I've used it in Python and Typescript. It's a game changer.

Adam Gitzes
Amazon
Just set up baml for my project, 10/10 experience and much faster than langchain.

Jason Fan
Finic.ai
It's amazing!! Was able to cut down my tokens and time-to-first-token significantly without compromising results.

Ray del Vecchio
Cerebral Valley
BAML is definitely a must have if you want any structured data from LLM; no more BS/long paragraphs describing what the output should be like, it just works!!!

Hankel Bao
Coldreach.ai
The test case and playground is quite literally the BEST feature. It has improved the iteration speed and quality by an order of magnitude.

Joseph Tutera
Docucare AI
I really really like what Baml offers [...] I think it's a step-wise improvement over Marvin. Having complete control over the prompt WITH strong type guarantees is fantastic.
I also think the dedicated testing playground is awesome.

Gabe
Zenfetch
BAML is definitely a must have if you want any structured data from LLM; no more BS/long paragraphs describing what the output should be like, it just works!!!

Hankel Bao
Coldreach.ai
The test case and playground is quite literally the BEST feature. It has improved the iteration speed and quality by an order of magnitude.

Joseph Tutera
Docucare AI
I really really like what Baml offers [...] I think it's a step-wise improvement over Marvin. Having complete control over the prompt WITH strong type guarantees is fantastic.
I also think the dedicated testing playground is awesome.

Gabe
Zenfetch
BAML is definitely a must have if you want any structured data from LLM; no more BS/long paragraphs describing what the output should be like, it just works!!!

Hankel Bao
Coldreach.ai
The test case and playground is quite literally the BEST feature. It has improved the iteration speed and quality by an order of magnitude.

Joseph Tutera
Docucare AI
I really really like what Baml offers [...] I think it's a step-wise improvement over Marvin. Having complete control over the prompt WITH strong type guarantees is fantastic.
I also think the dedicated testing playground is awesome.

Gabe
Zenfetch
BAML is definitely a must have if you want any structured data from LLM; no more BS/long paragraphs describing what the output should be like, it just works!!!

Hankel Bao
Coldreach.ai
The test case and playground is quite literally the BEST feature. It has improved the iteration speed and quality by an order of magnitude.

Joseph Tutera
Docucare AI
I really really like what Baml offers [...] I think it's a step-wise improvement over Marvin. Having complete control over the prompt WITH strong type guarantees is fantastic.
I also think the dedicated testing playground is awesome.

Gabe
Zenfetch
Code is hella clean now. Look at [the] folder structure, and each folder for a respective pipeline. Each file just a prompt. Clean, elegant, beautiful.

Paulo Rossi
Magnaplay
Just got the categorizer to work first try.
Felt like landing a kickflip

Eitan Borgnia
Squack
Code is hella clean now. Look at [the] folder structure, and each folder for a respective pipeline. Each file just a prompt. Clean, elegant, beautiful.

Paulo Rossi
Magnaplay
Just got the categorizer to work first try.
Felt like landing a kickflip

Eitan Borgnia
Squack
Code is hella clean now. Look at [the] folder structure, and each folder for a respective pipeline. Each file just a prompt. Clean, elegant, beautiful.

Paulo Rossi
Magnaplay
Just got the categorizer to work first try.
Felt like landing a kickflip

Eitan Borgnia
Squack
Code is hella clean now. Look at [the] folder structure, and each folder for a respective pipeline. Each file just a prompt. Clean, elegant, beautiful.

Paulo Rossi
Magnaplay
Just got the categorizer to work first try.
Felt like landing a kickflip

Eitan Borgnia
Squack
