import { IChatModel } from '../types';

export const GEMINI_MODELS: IChatModel[] = [
    {
        id: 'gemini-2.0-flash',
        name: 'Gemini 2.0 Flash',
        context: 131072,
        costs_currency: 'usd-cents',
        input_cost_key: 'prompt_tokens',
        output_cost_key: 'completion_tokens',
        costs: {
            tokens: 1_000_000,
            prompt_tokens: 10,
            completion_tokens: 40,
            cached_tokens: 3,

        },
        max_tokens: 8192,
    },
    {
        id: 'gemini-2.0-flash-lite',
        name: 'Gemini 2.0 Flash-Lite',
        context: 1_048_576,
        costs_currency: 'usd-cents',
        input_cost_key: 'prompt_tokens',
        output_cost_key: 'completion_tokens',
        costs: {
            tokens: 1_000_000,
            prompt_tokens: 8,
            completion_tokens: 30,
        },
        max_tokens: 8192,
    },
    {
        id: 'gemini-2.5-flash',
        name: 'Gemini 2.5 Flash',
        context: 1_048_576,
        costs_currency: 'usd-cents',
        input_cost_key: 'prompt_tokens',
        output_cost_key: 'completion_tokens',
        costs: {
            tokens: 1_000_000,
            prompt_tokens: 30,
            completion_tokens: 250,
            cached_tokens: 3,
        },
        max_tokens: 65536,
    },
    {
        id: 'gemini-2.5-flash-lite',
        name: 'Gemini 2.5 Flash-Lite',
        context: 1_048_576,
        costs_currency: 'usd-cents',
        input_cost_key: 'prompt_tokens',
        output_cost_key: 'completion_tokens',
        costs: {
            tokens: 1_000_000,
            prompt_tokens: 10,
            completion_tokens: 40,
            cached_tokens: 1,
        },
        max_tokens: 65536,
    },
    {
        id: 'gemini-2.5-pro',
        name: 'Gemini 2.5 Pro',
        context: 1_048_576,
        costs_currency: 'usd-cents',
        input_cost_key: 'prompt_tokens',
        output_cost_key: 'completion_tokens',
        costs: {
            tokens: 1_000_000,
            prompt_tokens: 125,
            completion_tokens: 1000,
            cached_tokens: 13,
        },
        max_tokens: 200_000,
    },
    {
        id: 'gemini-3-pro-preview',
        name: 'Gemini 3 Pro',
        context: 1_048_576,
        costs_currency: 'usd-cents',
        input_cost_key: 'prompt_tokens',
        output_cost_key: 'completion_tokens',
        costs: {
            tokens: 1_000_000,
            prompt_tokens: 200,
            completion_tokens: 1200,
            cached_tokens: 20,
        },
        max_tokens: 200_000,
    },
];
