| Crates.io | openrouter-provider |
| lib.rs | openrouter-provider |
| version | 0.1.1 |
| created_at | 2025-12-17 03:15:52.883449+00 |
| updated_at | 2025-12-17 20:13:20.252466+00 |
| description | Type definitions for the OpenRouter Provider API contract (https://openrouter.ai/docs/guides/for-providers) |
| homepage | |
| repository | https://github.com/perceptron-ai-inc/openrouter-provider |
| max_upload_size | |
| id | 1989241 |
| size | 13,293 |
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();