genai_input_cost function calculates the cost of input tokens (prompt tokens) for a GenAI API call based on the model name and number of input tokens. This helps you understand and track the cost of prompts separately from responses.
You can use this function to analyze prompt costs, optimize prompt engineering for cost efficiency, track input spending separately, or create detailed cost breakdowns.
For users of other query languages
If you come from other query languages, this section explains how to adjust your existing queries to achieve the same results in APL.Splunk SPL users
Splunk SPL users
In Splunk SPL, you would need to lookup pricing and calculate costs manually.
ANSI SQL users
ANSI SQL users
In ANSI SQL, you would join with a pricing table and calculate input costs.
Usage
Syntax
Parameters
- model (string, required): The name of the AI model (for example, ‘gpt-4’, ‘claude-3-opus’, ‘gpt-3.5-turbo’).
- input_tokens (long, required): The number of input tokens (prompt tokens) used in the API call.
Returns
Returns a real number representing the cost in dollars (USD) for the input tokens based on the model’s pricing.Use case examples
- Log analysis
- OpenTelemetry traces
- Security logs
Analyze input costs separately to understand how much you spend on prompts versus responses.QueryRun in PlaygroundOutput
This query breaks down prompt costs by model and time, helping you understand where prompt spending occurs.
| _time | model_name | total_prompt_cost |
|---|---|---|
| 2024-01-15T10:00:00Z | gpt-4 | 4.56 |
| 2024-01-15T10:00:00Z | gpt-3.5-turbo | 0.23 |
List of related functions
- genai_output_cost: Calculates output token cost. Use this alongside input costs to understand the full cost breakdown.
- genai_cost: Calculates total cost (input + output). Use this when you need combined costs.
- genai_get_pricing: Gets pricing information. Use this to understand the pricing structure behind cost calculations.
- genai_estimate_tokens: Estimates token count from text. Combine with input cost to predict prompt costs before API calls.