Cost estimation for LLM API usage.
Prices are stored as USD per 1M tokens for (input, output). Only
models with well-known pricing are listed; unknown models return
:unknown.
Example
iex> Candil.Cost.estimate("gpt-4o", 1000, 500)
{:ok, 0.00775}
iex> Candil.Cost.estimate("unknown-model", 1000, 500)
:unknown
Summary
Functions
@spec estimate(String.t(), non_neg_integer(), non_neg_integer()) :: {:ok, float()} | :unknown
@spec known_models() :: [String.t()]