"""DO NOT EDIT THIS FILE DIRECTLY, INSTEAD RUN `make package-data`"""

from typing import Any

__all__ = ('unit_data',)

unit_data: dict[str, Any] = {
    'input_tokens': {
        'per': 1000000,
        'price_key': 'input_mtok',
        'dimensions': {'family': 'tokens', 'direction': 'input'},
    },
    'output_tokens': {
        'per': 1000000,
        'price_key': 'output_mtok',
        'dimensions': {'family': 'tokens', 'direction': 'output'},
    },
    'cache_read_tokens': {
        'per': 1000000,
        'price_key': 'cache_read_mtok',
        'dimensions': {'family': 'tokens', 'direction': 'input', 'token_type': 'cache_read'},
    },
    'cache_write_tokens': {
        'per': 1000000,
        'price_key': 'cache_write_mtok',
        'dimensions': {'family': 'tokens', 'direction': 'input', 'token_type': 'cache_write'},
    },
    'cache_write_5m_tokens': {
        'per': 1000000,
        'price_key': 'cache_write_5m_mtok',
        'dimensions': {'family': 'tokens', 'direction': 'input', 'token_type': 'cache_write', 'cache_ttl': '5m'},
    },
    'cache_write_1h_tokens': {
        'per': 1000000,
        'price_key': 'cache_write_1h_mtok',
        'dimensions': {'family': 'tokens', 'direction': 'input', 'token_type': 'cache_write', 'cache_ttl': '1h'},
    },
    'input_text_tokens': {
        'per': 1000000,
        'price_key': 'input_text_mtok',
        'dimensions': {'family': 'tokens', 'direction': 'input', 'modality': 'text'},
    },
    'output_text_tokens': {
        'per': 1000000,
        'price_key': 'output_text_mtok',
        'dimensions': {'family': 'tokens', 'direction': 'output', 'modality': 'text'},
    },
    'cache_text_read_tokens': {
        'per': 1000000,
        'price_key': 'cache_text_read_mtok',
        'dimensions': {'family': 'tokens', 'direction': 'input', 'modality': 'text', 'token_type': 'cache_read'},
    },
    'cache_text_write_tokens': {
        'per': 1000000,
        'price_key': 'cache_text_write_mtok',
        'dimensions': {'family': 'tokens', 'direction': 'input', 'modality': 'text', 'token_type': 'cache_write'},
    },
    'cache_text_write_5m_tokens': {
        'per': 1000000,
        'price_key': 'cache_text_write_5m_mtok',
        'dimensions': {
            'family': 'tokens',
            'direction': 'input',
            'modality': 'text',
            'token_type': 'cache_write',
            'cache_ttl': '5m',
        },
    },
    'cache_text_write_1h_tokens': {
        'per': 1000000,
        'price_key': 'cache_text_write_1h_mtok',
        'dimensions': {
            'family': 'tokens',
            'direction': 'input',
            'modality': 'text',
            'token_type': 'cache_write',
            'cache_ttl': '1h',
        },
    },
    'input_audio_tokens': {
        'per': 1000000,
        'price_key': 'input_audio_mtok',
        'dimensions': {'family': 'tokens', 'direction': 'input', 'modality': 'audio'},
    },
    'output_audio_tokens': {
        'per': 1000000,
        'price_key': 'output_audio_mtok',
        'dimensions': {'family': 'tokens', 'direction': 'output', 'modality': 'audio'},
    },
    'cache_audio_read_tokens': {
        'per': 1000000,
        'price_key': 'cache_audio_read_mtok',
        'dimensions': {'family': 'tokens', 'direction': 'input', 'modality': 'audio', 'token_type': 'cache_read'},
    },
    'cache_audio_write_tokens': {
        'per': 1000000,
        'price_key': 'cache_audio_write_mtok',
        'dimensions': {'family': 'tokens', 'direction': 'input', 'modality': 'audio', 'token_type': 'cache_write'},
    },
    'cache_audio_write_5m_tokens': {
        'per': 1000000,
        'price_key': 'cache_audio_write_5m_mtok',
        'dimensions': {
            'family': 'tokens',
            'direction': 'input',
            'modality': 'audio',
            'token_type': 'cache_write',
            'cache_ttl': '5m',
        },
    },
    'cache_audio_write_1h_tokens': {
        'per': 1000000,
        'price_key': 'cache_audio_write_1h_mtok',
        'dimensions': {
            'family': 'tokens',
            'direction': 'input',
            'modality': 'audio',
            'token_type': 'cache_write',
            'cache_ttl': '1h',
        },
    },
    'input_image_tokens': {
        'per': 1000000,
        'price_key': 'input_image_mtok',
        'dimensions': {'family': 'tokens', 'direction': 'input', 'modality': 'image'},
    },
    'output_image_tokens': {
        'per': 1000000,
        'price_key': 'output_image_mtok',
        'dimensions': {'family': 'tokens', 'direction': 'output', 'modality': 'image'},
    },
    'cache_image_read_tokens': {
        'per': 1000000,
        'price_key': 'cache_image_read_mtok',
        'dimensions': {'family': 'tokens', 'direction': 'input', 'modality': 'image', 'token_type': 'cache_read'},
    },
    'cache_image_write_tokens': {
        'per': 1000000,
        'price_key': 'cache_image_write_mtok',
        'dimensions': {'family': 'tokens', 'direction': 'input', 'modality': 'image', 'token_type': 'cache_write'},
    },
    'cache_image_write_5m_tokens': {
        'per': 1000000,
        'price_key': 'cache_image_write_5m_mtok',
        'dimensions': {
            'family': 'tokens',
            'direction': 'input',
            'modality': 'image',
            'token_type': 'cache_write',
            'cache_ttl': '5m',
        },
    },
    'cache_image_write_1h_tokens': {
        'per': 1000000,
        'price_key': 'cache_image_write_1h_mtok',
        'dimensions': {
            'family': 'tokens',
            'direction': 'input',
            'modality': 'image',
            'token_type': 'cache_write',
            'cache_ttl': '1h',
        },
    },
    'input_video_tokens': {
        'per': 1000000,
        'price_key': 'input_video_mtok',
        'dimensions': {'family': 'tokens', 'direction': 'input', 'modality': 'video'},
    },
    'output_video_tokens': {
        'per': 1000000,
        'price_key': 'output_video_mtok',
        'dimensions': {'family': 'tokens', 'direction': 'output', 'modality': 'video'},
    },
    'cache_video_read_tokens': {
        'per': 1000000,
        'price_key': 'cache_video_read_mtok',
        'dimensions': {'family': 'tokens', 'direction': 'input', 'modality': 'video', 'token_type': 'cache_read'},
    },
    'cache_video_write_tokens': {
        'per': 1000000,
        'price_key': 'cache_video_write_mtok',
        'dimensions': {'family': 'tokens', 'direction': 'input', 'modality': 'video', 'token_type': 'cache_write'},
    },
    'cache_video_write_5m_tokens': {
        'per': 1000000,
        'price_key': 'cache_video_write_5m_mtok',
        'dimensions': {
            'family': 'tokens',
            'direction': 'input',
            'modality': 'video',
            'token_type': 'cache_write',
            'cache_ttl': '5m',
        },
    },
    'cache_video_write_1h_tokens': {
        'per': 1000000,
        'price_key': 'cache_video_write_1h_mtok',
        'dimensions': {
            'family': 'tokens',
            'direction': 'input',
            'modality': 'video',
            'token_type': 'cache_write',
            'cache_ttl': '1h',
        },
    },
    'input_tool_tokens': {
        'per': 1000000,
        'price_key': 'input_tool_mtok',
        'dimensions': {'family': 'tokens', 'direction': 'input', 'token_type': 'tool'},
    },
    'input_text_tool_tokens': {
        'per': 1000000,
        'price_key': 'input_text_tool_mtok',
        'dimensions': {'family': 'tokens', 'direction': 'input', 'modality': 'text', 'token_type': 'tool'},
    },
    'input_audio_tool_tokens': {
        'per': 1000000,
        'price_key': 'input_audio_tool_mtok',
        'dimensions': {'family': 'tokens', 'direction': 'input', 'modality': 'audio', 'token_type': 'tool'},
    },
    'input_image_tool_tokens': {
        'per': 1000000,
        'price_key': 'input_image_tool_mtok',
        'dimensions': {'family': 'tokens', 'direction': 'input', 'modality': 'image', 'token_type': 'tool'},
    },
    'input_video_tool_tokens': {
        'per': 1000000,
        'price_key': 'input_video_tool_mtok',
        'dimensions': {'family': 'tokens', 'direction': 'input', 'modality': 'video', 'token_type': 'tool'},
    },
    'output_reasoning_tokens': {
        'per': 1000000,
        'price_key': 'output_reasoning_mtok',
        'dimensions': {'family': 'tokens', 'direction': 'output', 'token_type': 'reasoning'},
    },
    'output_text_reasoning_tokens': {
        'per': 1000000,
        'price_key': 'output_text_reasoning_mtok',
        'dimensions': {'family': 'tokens', 'direction': 'output', 'modality': 'text', 'token_type': 'reasoning'},
    },
    'output_audio_reasoning_tokens': {
        'per': 1000000,
        'price_key': 'output_audio_reasoning_mtok',
        'dimensions': {'family': 'tokens', 'direction': 'output', 'modality': 'audio', 'token_type': 'reasoning'},
    },
    'output_image_reasoning_tokens': {
        'per': 1000000,
        'price_key': 'output_image_reasoning_mtok',
        'dimensions': {'family': 'tokens', 'direction': 'output', 'modality': 'image', 'token_type': 'reasoning'},
    },
    'output_video_reasoning_tokens': {
        'per': 1000000,
        'price_key': 'output_video_reasoning_mtok',
        'dimensions': {'family': 'tokens', 'direction': 'output', 'modality': 'video', 'token_type': 'reasoning'},
    },
    'output_citation_tokens': {
        'per': 1000000,
        'price_key': 'output_citation_mtok',
        'dimensions': {'family': 'tokens', 'direction': 'output', 'token_type': 'citation'},
    },
    'output_text_citation_tokens': {
        'per': 1000000,
        'price_key': 'output_text_citation_mtok',
        'dimensions': {'family': 'tokens', 'direction': 'output', 'modality': 'text', 'token_type': 'citation'},
    },
    'output_audio_citation_tokens': {
        'per': 1000000,
        'price_key': 'output_audio_citation_mtok',
        'dimensions': {'family': 'tokens', 'direction': 'output', 'modality': 'audio', 'token_type': 'citation'},
    },
    'output_image_citation_tokens': {
        'per': 1000000,
        'price_key': 'output_image_citation_mtok',
        'dimensions': {'family': 'tokens', 'direction': 'output', 'modality': 'image', 'token_type': 'citation'},
    },
    'output_video_citation_tokens': {
        'per': 1000000,
        'price_key': 'output_video_citation_mtok',
        'dimensions': {'family': 'tokens', 'direction': 'output', 'modality': 'video', 'token_type': 'citation'},
    },
    'input_characters': {
        'per': 1000000,
        'price_key': 'input_mchars',
        'dimensions': {'family': 'characters', 'direction': 'input'},
    },
    'input_text_messages': {
        'per': 1000,
        'price_key': 'input_text_messages_kcount',
        'dimensions': {'family': 'messages', 'direction': 'input', 'modality': 'text'},
    },
    'audio_seconds': {
        'per': 3600,
        'price_key': 'audio_hours',
        'dimensions': {'family': 'durations', 'modality': 'audio'},
    },
    'input_audio_seconds': {
        'per': 3600,
        'price_key': 'input_audio_hours',
        'dimensions': {'family': 'durations', 'direction': 'input', 'modality': 'audio'},
    },
    'output_audio_seconds': {
        'per': 3600,
        'price_key': 'output_audio_hours',
        'dimensions': {'family': 'durations', 'direction': 'output', 'modality': 'audio'},
    },
    'input_pixels': {
        'per': 1000000000,
        'price_key': 'input_gpixels',
        'dimensions': {'family': 'pixels', 'direction': 'input'},
    },
    'input_document_pages': {
        'per': 1000,
        'price_key': 'input_document_kpages',
        'dimensions': {'family': 'document_pages', 'direction': 'input'},
    },
    'input_annotated_document_pages': {
        'per': 1000,
        'price_key': 'input_annotated_document_kpages',
        'dimensions': {'family': 'document_pages', 'direction': 'input', 'page_type': 'annotated'},
    },
    'rerank_searches': {'per': 1000, 'price_key': 'rerank_searches_kcount', 'dimensions': {'family': 'rerank'}},
    'web_searches': {
        'per': 1000,
        'price_key': 'web_searches_kcount',
        'dimensions': {'family': 'tool_calls', 'tool_type': 'web_search'},
    },
    'social_searches': {
        'per': 1000,
        'price_key': 'social_searches_kcount',
        'dimensions': {'family': 'tool_calls', 'tool_type': 'social_search'},
    },
    'storage_searches': {
        'per': 1000,
        'price_key': 'storage_searches_kcount',
        'dimensions': {'family': 'tool_calls', 'tool_type': 'storage_search'},
    },
    'code_executions': {
        'per': 1000,
        'price_key': 'code_executions_kcount',
        'dimensions': {'family': 'tool_calls', 'tool_type': 'code_execution'},
    },
    'requests': {'per': 1000, 'price_key': 'requests_kcount', 'dimensions': {'family': 'requests'}},
}
