diff --git a/config.yaml b/config.yaml index 51cdfab..7b5d22c 100644 --- a/config.yaml +++ b/config.yaml @@ -148,7 +148,13 @@ model_list: # models: the member portal's /v1/models filters them out of the chat model # list (see AUDIO_MODEL_PREFIXES there) so members don't see them in the # picker, but they remain fully callable via /v1/audio/* for API users. - # whisper-large-v3-turbo: $0.05/1M input tokens. voxtral-tts: listed $0/$0. + # whisper-large-v3-turbo: $0.05/1M input tokens. voxtral-tts: Tinfoil's + # catalog lists it $0/$0 and every cost field was left NULL, so speech usage + # never consumed member allowance. Billed at the model's published rate + # instead: $16/1M characters, i.e. LiteLLM's own bundled price for the same + # weights (mistral/voxtral-mini-tts-*, sourced to Mistral's model card) and + # the rate OpenAI's TTS entries use for the same field. Revisit if the + # Tinfoil invoice shows a different number. # NOTE: LiteLLM routes audio by the openai/ provider + the endpoint called # (/v1/audio/transcriptions or /v1/audio/speech) — there is no # "audio_transcription/" provider prefix. @@ -168,6 +174,10 @@ model_list: api_key: os.environ/TINFOIL_API_KEY model_info: mode: audio_speech + # $16 per 1M characters. This is the field LiteLLM reads for speech on the + # openai adapter (same key OpenAI's tts-1 uses upstream), so member spend + # and budget caps now account for voice mode. + input_cost_per_character: 0.000016 # --- Embedding model (Tinfoil, in-TEE) --- # nomic-embed-text — 768-dim text embeddings for RAG/semantic search.