Introduction
Start building AI applications with the OpenRouter API
Welcome, AI engineer! These docs cover guides, examples, references, and more to help you build applications using the 100+ models available via OpenRouter with the Orpheus library.
use orpheus::prelude::*;
fn main() -> anyhow::Result<()> {
let client = Orpheus::from_env()?;
let response = client
.chat("Say hello to our friend!")
.model("openai/gpt-4o")
.send()?;
println!("Model says: {}", response.content()?);
Ok(())
}Model says: Hello there! It's great to meet you. How can I assist you today?Objective
Orpheus aims to be three things:
Ergonomic: Ease of use is a top priority. We keep the learning curve low and the amount of interfaces to remember to a minimum.
Fully Featured: Stay up to date with the latest capabilities offered by providers. This includes tool calling, reasoning, multimodality, or something entirely new.
Not a framework: Avoid opaque abstractions 4 staying as close as possible to the underlying API while providing a clearer, more comfortable interface.
Key Features
Orpheus also comes with out-of-the-box support for:
β‘ Async
π Streaming
πΌοΈ Images, PDF, and Audio
π Model Fallbacks
π Web Search
π οΈ Tool Calling
π MCP
π Structured Outputs
βοΈ Provider Selection
πΎ Prompt Caching
π§ Message Transforms
Last updated
Was this helpful?