Introduction

What is Blazen and why use it for AI workflows

What is Blazen?

Blazen is an event-driven AI workflow engine written in Rust with native Python and Node.js bindings. It gives you a structured, type-safe way to build complex LLM-powered workflows that can pause, resume, branch, and compose together into larger pipelines — and it now ships native media pipelines alongside the LLM surface, covering 3D mesh extraction, voice conversion, TTS engines, audio codecs, and music generation out of the box.

Why Blazen?

Building production AI workflows means dealing with unreliable providers, long-running tasks, human review gates, and the need to orchestrate multiple models across a single pipeline. Blazen solves these problems at the engine level:

  • Type-safe events — Every piece of data flowing through your workflow is validated at compile time in Rust and at runtime in Python and Node.js.
  • 15+ LLM providers — OpenAI, Anthropic, Google, Mistral, Groq, and more, with a unified interface and automatic fallback.
  • Multi-workflow pipelines — Chain workflows together with conditional routing, fan-out, and aggregation.
  • Pause and resume — Persist workflow state to disk or a database and pick up exactly where you left off.
  • Human-in-the-loop — Built-in support for approval gates, review steps, and manual intervention points.

Architecture Overview

Blazen is built around three core abstractions. Events carry typed data between processing nodes. Steps consume events, perform work (calling an LLM, transforming data, waiting for human input), and emit new events. Workflows wire Steps together into a directed graph. When you need to go bigger, Pipelines compose multiple Workflows into an end-to-end system with shared context and cross-workflow routing.

Core Crates

The engine is split into focused crates, each with a single responsibility:

  • blazen-events — Event definitions, serialization, and type registry
  • blazen-core — Workflow runtime, step execution, and scheduling
  • blazen-macros — Derive macros for events, steps, and configuration
  • blazen-llm — Unified LLM client with provider adapters and retry logic
  • blazen-pipeline — Multi-workflow orchestration and routing
  • blazen-persist — State serialization, checkpointing, and recovery
  • blazen-prompts — Prompt templating, variable injection, and versioning
  • blazen-3d — TripoSR image-to-mesh plus a Compat3D HTTP proxy for remote 3D backends
  • blazen-audio-tts — Text-to-speech engines: Kokoro, VibeVoice, Qwen3-TTS, Bark, F5-TTS, and Piper
  • blazen-audio-stt — Speech-to-text via Whisper (both whisper.cpp and Candle backends)
  • blazen-audio-vc — RVC-based voice conversion
  • blazen-audio-codec — Neural audio codecs: EnCodec, DAC, and SNAC
  • blazen-audio-music — Music and ambient audio generation: MusicGen, AudioGen, Stable Audio
  • blazen-image-diffusion — Local diffusion image generation
  • blazen-video-core — Temporal attention primitives for video models

Polyglot by Design

Blazen exposes the same concepts across every binding surface, so you write natural code in your language of choice while the Rust engine handles the heavy lifting:

  • Rust — native crates, the source of truth for the engine
  • Python — PyO3 bindings (blazen-py)
  • Node.js — napi-rs bindings (blazen-node)
  • WASM — wasm-bindgen SDK (blazen-wasm-sdk) for the browser
  • Go, Swift, Kotlin — UniFFI-generated bindings sharing a single blazen-uniffi surface
  • Ruby — a hand-written cbindgen C ABI (blazen-cabi) wrapped by FFI::Library, with full callback and Fiber.scheduler support

License

Blazen is open source under the MPL-2.0 license.