openrouter 0.2.0

A library to interact with the OpenRouter API.
Documentation
use serde::{Deserialize, Serialize};

#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub enum Provider {
    #[serde(rename = "AI21")]
    AI21,
    #[serde(rename = "AionLabs")]
    AionLabs,
    #[serde(rename = "Alibaba")]
    Alibaba,
    #[serde(rename = "Amazon Bedrock")]
    AmazonBedrock,
    #[serde(rename = "Anthropic")]
    Anthropic,
    #[serde(rename = "AnyScale")]
    AnyScale,
    #[serde(rename = "Atoma")]
    Atoma,
    #[serde(rename = "Avian")]
    Avian,
    #[serde(rename = "Azure")]
    Azure,
    #[serde(rename = "BaseTen")]
    BaseTen,
    #[serde(rename = "Cent-ML")]
    CentML,
    #[serde(rename = "Cerebras")]
    Cerebras,
    #[serde(rename = "Chutes")]
    Chutes,
    #[serde(rename = "Cloudflare")]
    Cloudflare,
    #[serde(rename = "Cohere")]
    Cohere,
    #[serde(rename = "Crusoe")]
    Crusoe,
    #[serde(rename = "DeepInfra")]
    DeepInfra,
    #[serde(rename = "DeepSeek")]
    DeepSeek,
    #[serde(rename = "Enfer")]
    Enfer,
    #[serde(rename = "Featherless")]
    Featherless,
    #[serde(rename = "Fireworks")]
    Fireworks,
    #[serde(rename = "Friendli")]
    Friendli,
    #[serde(rename = "GMICloud")]
    GMICloud,
    #[serde(rename = "Google")]
    Google,
    #[serde(rename = "Google AI Studio")]
    GoogleAIStudio,
    #[serde(rename = "Groq")]
    Groq,
    #[serde(rename = "HuggingFace")]
    HuggingFace,
    #[serde(rename = "Hyperbolic")]
    Hyperbolic,
    #[serde(rename = "Hyperbolic 2")]
    Hyperbolic2,
    #[serde(rename = "Inception")]
    Inception,
    #[serde(rename = "InferenceNet")]
    InferenceNet,
    #[serde(rename = "Infermatic")]
    Infermatic,
    #[serde(rename = "Inflection")]
    Inflection,
    #[serde(rename = "InoCloud")]
    InoCloud,
    #[serde(rename = "Kluster")]
    Kluster,
    #[serde(rename = "Lambda")]
    Lambda,
    #[serde(rename = "Lepton")]
    Lepton,
    #[serde(rename = "Liquid")]
    Liquid,
    #[serde(rename = "Lynn")]
    Lynn,
    #[serde(rename = "Lynn 2")]
    Lynn2,
    #[serde(rename = "Mancer")]
    Mancer,
    #[serde(rename = "Mancer 2")]
    Mancer2,
    #[serde(rename = "Meta")]
    Meta,
    #[serde(rename = "Minimax")]
    Minimax,
    #[serde(rename = "Mistral")]
    Mistral,
    #[serde(rename = "Modal")]
    Modal,
    #[serde(rename = "NCompass")]
    NCompass,
    #[serde(rename = "Nebius")]
    Nebius,
    #[serde(rename = "NextBit")]
    NextBit,
    #[serde(rename = "Nineteen")]
    Nineteen,
    #[serde(rename = "Novita")]
    Novita,
    #[serde(rename = "OctoAI")]
    OctoAI,
    #[serde(rename = "OpenAI")]
    OpenAI,
    #[serde(rename = "OpenInference")]
    OpenInference,
    #[serde(rename = "Parasail")]
    Parasail,
    #[serde(rename = "Perplexity")]
    Perplexity,
    #[serde(rename = "Phala")]
    Phala,
    #[serde(rename = "Recursal")]
    Recursal,
    #[serde(rename = "Reflection")]
    Reflection,
    #[serde(rename = "Replicate")]
    Replicate,
    #[serde(rename = "SambaNova")]
    SambaNova,
    #[serde(rename = "SambaNova2")]
    SambaNova2,
    #[serde(rename = "SF Compute")]
    SFCompute,
    #[serde(rename = "Stealth")]
    Stealth,
    #[serde(rename = "Targon")]
    Targon,
    #[serde(rename = "Together")]
    Together,
    #[serde(rename = "Together 2")]
    Together2,
    #[serde(rename = "Ubicloud")]
    Ubicloud,
    #[serde(rename = "xAI")]
    XAI,
    #[serde(rename = "01.AI")]
    ZeroOneAI,
    #[serde(untagged)]
    Custom(String),
}