openrouter-provider

Crates.ioopenrouter-provider
lib.rsopenrouter-provider
version0.1.1
created_at2025-12-17 03:15:52.883449+00
updated_at2025-12-17 20:13:20.252466+00
descriptionType definitions for the OpenRouter Provider API contract (https://openrouter.ai/docs/guides/for-providers)
homepage
repositoryhttps://github.com/perceptron-ai-inc/openrouter-provider
max_upload_size
id1989241
size13,293
Max Zheng (max-zheng)

documentation

https://docs.rs/openrouter-provider

README

openrouter-provider

Type definitions for the OpenRouter Provider API. The types are kept 1:1 with the spec for the List Models Endpoint which is required to be implemented by any model provider who wants to sell inference on OpenRouter.

[dependencies]
openrouter-provider = "0.1"

Usage example:

use openrouter_provider::{
    ListModelsResponse, Model, Pricing, InputModality, OutputModality, Quantization
};

let response = ListModelsResponse {
    data: vec![Model {
        id: "my-org/my-model".to_string(),
        name: "My Model".to_string(),
        created: 1700000000,
        input_modalities: vec![InputModality::Text],
        output_modalities: vec![OutputModality::Text],
        quantization: Quantization::Fp16,
        context_length: 128000,
        max_output_length: 4096,
        pricing: Pricing::new("0.000001", "0.000002"),
        supported_sampling_parameters: vec![],
        supported_features: vec![],
        openrouter: None,
        hugging_face_id: None,
        description: None,
        datacenters: None,
    }],
};

let json = serde_json::to_string(&response).unwrap();
Commit count: 0

cargo fmt