Module Chatoyant_provider.OpenrouterSource

OpenRouter provider.

OpenRouter is OpenAI-compatible at the transport layer but has its own routing, attribution headers, model naming, and credit-cost semantics.

Sourcetype responses_request = Openai.responses_request
Sourcetype responses_response = Openai.responses_response
Sourcetype credits = {
  1. total_credits : float;
  2. total_usage : float;
  3. raw : Chatoyant_runtime.Json.t;
}
Sourcetype provider_info = {
  1. provider_id : string option;
  2. provider_name : string option;
  3. provider_raw : Chatoyant_runtime.Json.t;
}
Sourcetype provider_list = {
  1. providers : provider_info list;
  2. raw : Chatoyant_runtime.Json.t;
}
Sourcetype generation = {
  1. generation_id : string option;
  2. generation_model : string option;
  3. generation_provider_name : string option;
  4. generation_total_cost : float option;
  5. generation_created_at : string option;
  6. generation_raw : Chatoyant_runtime.Json.t;
}
Sourcetype model_count = {
  1. model_count : int;
  2. model_count_raw : Chatoyant_runtime.Json.t;
}
Sourcetype model_endpoint = {
  1. model_endpoint_name : string option;
  2. model_endpoint_provider_name : string option;
  3. model_endpoint_context_length : int option;
  4. model_endpoint_max_completion_tokens : int option;
  5. model_endpoint_quantization : string option;
  6. model_endpoint_status : string option;
  7. model_endpoint_supported_parameters : string list;
  8. model_endpoint_pricing : Chatoyant_runtime.Json.t option;
  9. model_endpoint_raw : Chatoyant_runtime.Json.t;
}
Sourcetype model_endpoint_list = {
  1. model_endpoint_model_id : string option;
  2. model_endpoint_model_name : string option;
  3. model_endpoint_model_description : string option;
  4. model_endpoint_model_created : int option;
  5. model_endpoint_model_architecture : Chatoyant_runtime.Json.t option;
  6. model_endpoints : model_endpoint list;
  7. model_endpoint_list_raw : Chatoyant_runtime.Json.t;
}
Sourcetype rerank_document =
  1. | Rerank_text of string
  2. | Rerank_object of Chatoyant_runtime.Json.t
Sourcetype rerank_request = {
  1. rerank_model : string;
  2. rerank_query : string;
  3. rerank_documents : rerank_document list;
  4. rerank_top_n : int option;
  5. rerank_provider : Chatoyant_runtime.Json.t option;
  6. rerank_extra : (string * Chatoyant_runtime.Json.t) list;
}
Sourcetype rerank_result = {
  1. rerank_index : int option;
  2. rerank_relevance_score : float option;
  3. rerank_document : Chatoyant_runtime.Json.t option;
  4. rerank_result_raw : Chatoyant_runtime.Json.t;
}
Sourcetype rerank_response = {
  1. rerank_id : string option;
  2. rerank_model_name : string option;
  3. rerank_provider_name : string option;
  4. rerank_results : rerank_result list;
  5. rerank_usage : Chatoyant_runtime.Json.t option;
  6. rerank_raw : Chatoyant_runtime.Json.t;
}
Sourcetype video_request = {
  1. video_model : string;
  2. video_prompt : string;
  3. video_aspect_ratio : string option;
  4. video_callback_url : string option;
  5. video_duration : int option;
  6. video_frame_images : Chatoyant_runtime.Json.t list;
  7. video_generate_audio : bool option;
  8. video_input_references : Chatoyant_runtime.Json.t list;
  9. video_provider : Chatoyant_runtime.Json.t option;
  10. video_resolution : string option;
  11. video_seed : int option;
  12. video_size : string option;
  13. video_extra : (string * Chatoyant_runtime.Json.t) list;
}
Sourcetype video_status =
  1. | Video_pending
  2. | Video_running
  3. | Video_completed
  4. | Video_failed
  5. | Video_cancelled
  6. | Video_unknown_status of string
Sourcetype video_job = {
  1. video_job_id : string option;
  2. video_polling_url : string option;
  3. video_status : video_status;
  4. video_error : string option;
  5. video_generation_id : string option;
  6. video_unsigned_urls : string list;
  7. video_usage : Chatoyant_runtime.Json.t option;
  8. video_raw : Chatoyant_runtime.Json.t;
}
Sourcetype video_model = {
  1. video_model_id : string option;
  2. video_model_name : string option;
  3. video_model_canonical_slug : string option;
  4. video_model_created : int option;
  5. video_model_raw : Chatoyant_runtime.Json.t;
}
Sourcetype video_model_list = {
  1. video_models : video_model list;
  2. video_models_raw : Chatoyant_runtime.Json.t;
}
Sourcetype management_resource = {
  1. management_id : string option;
  2. management_name : string option;
  3. management_raw : Chatoyant_runtime.Json.t;
}
Sourcetype management_list = {
  1. management_data : management_resource list;
  2. management_raw : Chatoyant_runtime.Json.t;
}
Sourcetype management_delete = {
  1. management_delete_id : string option;
  2. management_deleted : bool;
  3. management_delete_raw : Chatoyant_runtime.Json.t;
}
Sourceval base_url : string
Sourceval chat_request_json : request -> Chatoyant_runtime.Json.t
Sourceval rerank_request_json : rerank_request -> Chatoyant_runtime.Json.t
Sourceval video_request_json : video_request -> Chatoyant_runtime.Json.t
Sourceval authorization_headers : ?http_referer:string -> ?title:string -> api_key:string -> unit -> (string * string) list
Sourceval chat_response_of_stream_chunks : string list -> (response, string) result
Sourceval credits_of_json : Chatoyant_runtime.Json.t -> credits
Sourceval provider_list_of_json : Chatoyant_runtime.Json.t -> provider_list
Sourceval generation_of_json : Chatoyant_runtime.Json.t -> generation
Sourceval model_count_of_json : Chatoyant_runtime.Json.t -> model_count
Sourceval model_endpoint_list_of_json : Chatoyant_runtime.Json.t -> model_endpoint_list
Sourceval rerank_response_of_json : Chatoyant_runtime.Json.t -> rerank_response
Sourceval video_job_of_json : Chatoyant_runtime.Json.t -> video_job
Sourceval video_model_list_of_json : Chatoyant_runtime.Json.t -> video_model_list
Sourceval management_resource_of_json : Chatoyant_runtime.Json.t -> management_resource
Sourceval management_list_of_json : Chatoyant_runtime.Json.t -> management_list
Sourceval management_delete_of_json : Chatoyant_runtime.Json.t -> management_delete