spectracost 0.1.0

AI cost observability SDK - see the full spectrum of your AI spend
Documentation

spectracost

AI cost observability SDK for Rust. Wrap your OpenAI or Anthropic calls with one method and every request is tracked automatically.

cargo add spectracost tokio --features=tokio/full

OpenAI

use spectracost::{Spectracost, Options, openai::ChatRequest};

#[tokio::main]
async fn main() -> anyhow::Result<()> {
    let sc = Spectracost::new(Options {
        api_key: "sprc_...".into(),
        openai_api_key: Some("sk-...".into()),
        team: Some("search".into()),
        ..Default::default()
    });

    let response = sc.openai_chat(ChatRequest {
        model: "gpt-4o-mini".into(),
        messages: vec![
            ("user".into(), "Say hello!".into()).into(),
        ],
        max_tokens: Some(50),
    }).await?;

    println!("{}", response.first_message().unwrap_or_default());
    Ok(())
}

Anthropic

use spectracost::{Spectracost, Options, anthropic::MessagesRequest};

let sc = Spectracost::new(Options {
    api_key: "sprc_...".into(),
    anthropic_api_key: Some("sk-ant-...".into()),
    ..Default::default()
});

let response = sc.anthropic_messages(MessagesRequest {
    model: "claude-haiku-4-5-20251001".into(),
    max_tokens: 50,
    messages: vec![
        ("user".into(), "Say hello!".into()).into(),
    ],
}).await?;

License

MIT