paygent-sdk 3.0.1__py3-none-any.whl → 4.0.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- paygent_sdk/__init__.py +11 -6
- paygent_sdk/client.py +204 -180
- paygent_sdk/constants.py +1913 -257
- paygent_sdk/models.py +57 -484
- paygent_sdk/voice_client.py +209 -176
- paygent_sdk/wrappers/anthropic_wrapper.py +3 -2
- paygent_sdk/wrappers/gemini_wrapper.py +7 -6
- paygent_sdk/wrappers/mistral_wrapper.py +3 -2
- paygent_sdk/wrappers/openai_wrapper.py +7 -6
- {paygent_sdk-3.0.1.dist-info → paygent_sdk-4.0.0.dist-info}/METADATA +1 -1
- paygent_sdk-4.0.0.dist-info/RECORD +22 -0
- paygent_sdk-3.0.1.dist-info/RECORD +0 -22
- {paygent_sdk-3.0.1.dist-info → paygent_sdk-4.0.0.dist-info}/WHEEL +0 -0
- {paygent_sdk-3.0.1.dist-info → paygent_sdk-4.0.0.dist-info}/licenses/LICENSE +0 -0
- {paygent_sdk-3.0.1.dist-info → paygent_sdk-4.0.0.dist-info}/top_level.txt +0 -0
paygent_sdk/models.py
CHANGED
|
@@ -3,21 +3,7 @@ Data models for the Paygent SDK.
|
|
|
3
3
|
"""
|
|
4
4
|
|
|
5
5
|
from dataclasses import dataclass
|
|
6
|
-
from typing import Dict
|
|
7
|
-
|
|
8
|
-
# Import constants
|
|
9
|
-
from .constants import (
|
|
10
|
-
OpenAIModels,
|
|
11
|
-
AnthropicModels,
|
|
12
|
-
GoogleDeepMindModels,
|
|
13
|
-
MetaModels,
|
|
14
|
-
AWSModels,
|
|
15
|
-
MistralAIModels,
|
|
16
|
-
CohereModels,
|
|
17
|
-
DeepSeekModels,
|
|
18
|
-
MoonshotAIModels,
|
|
19
|
-
)
|
|
20
|
-
|
|
6
|
+
from typing import Dict, Optional, Any
|
|
21
7
|
|
|
22
8
|
@dataclass
|
|
23
9
|
class UsageData:
|
|
@@ -48,14 +34,6 @@ class APIRequest:
|
|
|
48
34
|
amount: float
|
|
49
35
|
|
|
50
36
|
|
|
51
|
-
@dataclass
|
|
52
|
-
class ModelPricing:
|
|
53
|
-
"""Represents pricing information for different models."""
|
|
54
|
-
prompt_tokens_cost: float
|
|
55
|
-
completion_tokens_cost: float
|
|
56
|
-
cached_tokens_cost: Optional[float] = None # Optional cached token cost (if None, model doesn't support caching)
|
|
57
|
-
|
|
58
|
-
|
|
59
37
|
@dataclass
|
|
60
38
|
class SttUsageData:
|
|
61
39
|
"""Represents the STT usage data structure."""
|
|
@@ -72,475 +50,70 @@ class TtsUsageData:
|
|
|
72
50
|
character_count: int # Number of characters
|
|
73
51
|
|
|
74
52
|
|
|
75
|
-
|
|
76
|
-
class SttModelPricing:
|
|
77
|
-
"""Represents pricing information for STT models (cost per hour in USD)."""
|
|
78
|
-
cost_per_hour: float # Cost per hour in USD
|
|
79
|
-
|
|
53
|
+
# New data models for V2 API and customer management
|
|
80
54
|
|
|
81
55
|
@dataclass
|
|
82
|
-
class
|
|
83
|
-
"""
|
|
84
|
-
|
|
85
|
-
|
|
56
|
+
class RawUsageData:
|
|
57
|
+
"""Raw usage data for V2 API (server-side cost calculation)."""
|
|
58
|
+
provider: str
|
|
59
|
+
model: str
|
|
60
|
+
input_tokens: Optional[int] = None
|
|
61
|
+
output_tokens: Optional[int] = None
|
|
62
|
+
cached_tokens: Optional[int] = None
|
|
63
|
+
audio_duration: Optional[int] = None # for STT (in seconds)
|
|
64
|
+
character_count: Optional[int] = None # for TTS
|
|
86
65
|
|
|
87
|
-
# Default model pricing (cost per 1000 tokens in USD)
|
|
88
|
-
MODEL_PRICING: Dict[str, ModelPricing] = {
|
|
89
|
-
# OpenAI Models (pricing per 1000 tokens)
|
|
90
|
-
OpenAIModels.GPT_5: ModelPricing(
|
|
91
|
-
prompt_tokens_cost=0.00125, # $0.00125 per 1000 tokens
|
|
92
|
-
cached_tokens_cost=0.000125, # 90% discount for cached tokens
|
|
93
|
-
completion_tokens_cost=0.01 # $0.01 per 1000 tokens
|
|
94
|
-
),
|
|
95
|
-
OpenAIModels.GPT_5_MINI: ModelPricing(
|
|
96
|
-
prompt_tokens_cost=0.00025, # $0.00025 per 1000 tokens
|
|
97
|
-
cached_tokens_cost=0.000025, # 90% discount for cached tokens
|
|
98
|
-
completion_tokens_cost=0.002 # $0.002 per 1000 tokens
|
|
99
|
-
),
|
|
100
|
-
OpenAIModels.GPT_5_NANO: ModelPricing(
|
|
101
|
-
prompt_tokens_cost=0.00005, # $0.00005 per 1000 tokens
|
|
102
|
-
cached_tokens_cost=0.000005, # 90% discount for cached tokens
|
|
103
|
-
completion_tokens_cost=0.0004 # $0.0004 per 1000 tokens
|
|
104
|
-
),
|
|
105
|
-
OpenAIModels.GPT_5_CHAT_LATEST: ModelPricing(
|
|
106
|
-
prompt_tokens_cost=0.00125, # $0.00125 per 1000 tokens
|
|
107
|
-
cached_tokens_cost=0.000125, # 90% discount for cached tokens
|
|
108
|
-
completion_tokens_cost=0.01 # $0.01 per 1000 tokens
|
|
109
|
-
),
|
|
110
|
-
OpenAIModels.GPT_5_2_CHAT_LATEST: ModelPricing(
|
|
111
|
-
prompt_tokens_cost=0.00175, # $1.75 per 1M tokens ($0.00175 per 1k)
|
|
112
|
-
cached_tokens_cost=0.000175, # $0.175 per 1M tokens ($0.000175 per 1k)
|
|
113
|
-
completion_tokens_cost=0.014 # $14.00 per 1M tokens ($0.014 per 1k)
|
|
114
|
-
),
|
|
115
|
-
OpenAIModels.GPT_5_CODEX: ModelPricing(
|
|
116
|
-
prompt_tokens_cost=0.00125, # $0.00125 per 1000 tokens
|
|
117
|
-
cached_tokens_cost=0.000125, # 90% discount for cached tokens
|
|
118
|
-
completion_tokens_cost=0.01 # $0.01 per 1000 tokens
|
|
119
|
-
),
|
|
120
|
-
OpenAIModels.GPT_5_PRO: ModelPricing(
|
|
121
|
-
prompt_tokens_cost=0.015, # $0.015 per 1000 tokens
|
|
122
|
-
completion_tokens_cost=0.12 # $0.12 per 1000 tokens
|
|
123
|
-
),
|
|
124
|
-
OpenAIModels.GPT_5_SEARCH_API: ModelPricing(
|
|
125
|
-
prompt_tokens_cost=0.00125, # $0.00125 per 1000 tokens
|
|
126
|
-
completion_tokens_cost=0.01 # $0.01 per 1000 tokens
|
|
127
|
-
),
|
|
128
|
-
OpenAIModels.GPT_4_1: ModelPricing(
|
|
129
|
-
prompt_tokens_cost=0.002, # $0.002 per 1000 tokens
|
|
130
|
-
cached_tokens_cost=0.0005, # 50% discount for cached tokens
|
|
131
|
-
completion_tokens_cost=0.008 # $0.008 per 1000 tokens
|
|
132
|
-
),
|
|
133
|
-
OpenAIModels.GPT_4_1_MINI: ModelPricing(
|
|
134
|
-
prompt_tokens_cost=0.0004, # $0.0004 per 1000 tokens
|
|
135
|
-
cached_tokens_cost=0.0001, # 50% discount for cached tokens
|
|
136
|
-
completion_tokens_cost=0.0016 # $0.0016 per 1000 tokens
|
|
137
|
-
),
|
|
138
|
-
OpenAIModels.GPT_4_1_NANO: ModelPricing(
|
|
139
|
-
prompt_tokens_cost=0.0001, # $0.0001 per 1000 tokens
|
|
140
|
-
cached_tokens_cost=0.000025, # 50% discount for cached tokens
|
|
141
|
-
completion_tokens_cost=0.0004 # $0.0004 per 1000 tokens
|
|
142
|
-
),
|
|
143
|
-
OpenAIModels.GPT_4O: ModelPricing(
|
|
144
|
-
prompt_tokens_cost=0.0025, # $0.0025 per 1000 tokens
|
|
145
|
-
cached_tokens_cost=0.00125, # 50% discount for cached tok
|
|
146
|
-
completion_tokens_cost=0.01 # $0.01 per 1000 tokens
|
|
147
|
-
),
|
|
148
|
-
OpenAIModels.GPT_4O_2024_05_13: ModelPricing(
|
|
149
|
-
prompt_tokens_cost=0.005, # $0.005 per 1000 tokens
|
|
150
|
-
cached_tokens_cost=0.0025, # 50% discount for cached tokens
|
|
151
|
-
completion_tokens_cost=0.015 # $0.015 per 1000 tokens
|
|
152
|
-
),
|
|
153
|
-
OpenAIModels.GPT_4O_MINI: ModelPricing(
|
|
154
|
-
prompt_tokens_cost=0.00015, # $0.00015 per 1000 tokens
|
|
155
|
-
cached_tokens_cost=0.000075, # 50% discount for cached tokens
|
|
156
|
-
completion_tokens_cost=0.0006 # $0.0006 per 1000 tokens
|
|
157
|
-
),
|
|
158
|
-
OpenAIModels.GPT_REALTIME: ModelPricing(
|
|
159
|
-
prompt_tokens_cost=0.004, # $0.004 per 1000 tokens
|
|
160
|
-
completion_tokens_cost=0.016 # $0.016 per 1000 tokens
|
|
161
|
-
),
|
|
162
|
-
OpenAIModels.GPT_REALTIME_MINI: ModelPricing(
|
|
163
|
-
prompt_tokens_cost=0.0006, # $0.0006 per 1000 tokens
|
|
164
|
-
completion_tokens_cost=0.0024 # $0.0024 per 1000 tokens
|
|
165
|
-
),
|
|
166
|
-
OpenAIModels.GPT_4O_REALTIME_PREVIEW: ModelPricing(
|
|
167
|
-
prompt_tokens_cost=0.005, # $0.005 per 1000 tokens
|
|
168
|
-
cached_tokens_cost=0.0025, # 50% discount for cached tokens
|
|
169
|
-
completion_tokens_cost=0.02 # $0.02 per 1000 tokens
|
|
170
|
-
),
|
|
171
|
-
OpenAIModels.GPT_4O_MINI_REALTIME_PREVIEW: ModelPricing(
|
|
172
|
-
prompt_tokens_cost=0.0006, # $0.0006 per 1000 tokens
|
|
173
|
-
cached_tokens_cost=0.0003, # 50% discount for cached tokens
|
|
174
|
-
completion_tokens_cost=0.0024 # $0.0024 per 1000 tokens
|
|
175
|
-
),
|
|
176
|
-
OpenAIModels.GPT_AUDIO: ModelPricing(
|
|
177
|
-
prompt_tokens_cost=0.0025, # $0.0025 per 1000 tokens
|
|
178
|
-
completion_tokens_cost=0.01 # $0.01 per 1000 tokens
|
|
179
|
-
),
|
|
180
|
-
OpenAIModels.GPT_AUDIO_MINI: ModelPricing(
|
|
181
|
-
prompt_tokens_cost=0.0006, # $0.0006 per 1000 tokens
|
|
182
|
-
completion_tokens_cost=0.0024 # $0.0024 per 1000 tokens
|
|
183
|
-
),
|
|
184
|
-
OpenAIModels.GPT_4O_AUDIO_PREVIEW: ModelPricing(
|
|
185
|
-
prompt_tokens_cost=0.0025, # $0.0025 per 1000 tokens
|
|
186
|
-
completion_tokens_cost=0.01 # $0.01 per 1000 tokens
|
|
187
|
-
),
|
|
188
|
-
OpenAIModels.GPT_4O_MINI_AUDIO_PREVIEW: ModelPricing(
|
|
189
|
-
prompt_tokens_cost=0.00015, # $0.00015 per 1000 tokens
|
|
190
|
-
completion_tokens_cost=0.0006 # $0.0006 per 1000 tokens
|
|
191
|
-
),
|
|
192
|
-
OpenAIModels.O1: ModelPricing(
|
|
193
|
-
prompt_tokens_cost=0.015, # $0.015 per 1000 tokens
|
|
194
|
-
completion_tokens_cost=0.06 # $0.06 per 1000 tokens
|
|
195
|
-
),
|
|
196
|
-
OpenAIModels.O1_PRO: ModelPricing(
|
|
197
|
-
prompt_tokens_cost=0.15, # $0.15 per 1000 tokens
|
|
198
|
-
completion_tokens_cost=0.6 # $0.6 per 1000 tokens
|
|
199
|
-
),
|
|
200
|
-
OpenAIModels.O3_PRO: ModelPricing(
|
|
201
|
-
prompt_tokens_cost=0.02, # $0.02 per 1000 tokens
|
|
202
|
-
completion_tokens_cost=0.08 # $0.08 per 1000 tokens
|
|
203
|
-
),
|
|
204
|
-
OpenAIModels.O3: ModelPricing(
|
|
205
|
-
prompt_tokens_cost=0.002, # $0.002 per 1000 tokens
|
|
206
|
-
completion_tokens_cost=0.008 # $0.008 per 1000 tokens
|
|
207
|
-
),
|
|
208
|
-
OpenAIModels.O3_DEEP_RESEARCH: ModelPricing(
|
|
209
|
-
prompt_tokens_cost=0.01, # $0.01 per 1000 tokens
|
|
210
|
-
completion_tokens_cost=0.04 # $0.04 per 1000 tokens
|
|
211
|
-
),
|
|
212
|
-
OpenAIModels.O4_MINI: ModelPricing(
|
|
213
|
-
prompt_tokens_cost=0.0011, # $0.0011 per 1000 tokens
|
|
214
|
-
completion_tokens_cost=0.0044 # $0.0044 per 1000 tokens
|
|
215
|
-
),
|
|
216
|
-
OpenAIModels.O4_MINI_DEEP_RESEARCH: ModelPricing(
|
|
217
|
-
prompt_tokens_cost=0.002, # $0.002 per 1000 tokens
|
|
218
|
-
completion_tokens_cost=0.008 # $0.008 per 1000 tokens
|
|
219
|
-
),
|
|
220
|
-
OpenAIModels.O3_MINI: ModelPricing(
|
|
221
|
-
prompt_tokens_cost=0.0011, # $0.0011 per 1000 tokens
|
|
222
|
-
completion_tokens_cost=0.0044 # $0.0044 per 1000 tokens
|
|
223
|
-
),
|
|
224
|
-
OpenAIModels.O1_MINI: ModelPricing(
|
|
225
|
-
prompt_tokens_cost=0.0011, # $0.0011 per 1000 tokens
|
|
226
|
-
completion_tokens_cost=0.0044 # $0.0044 per 1000 tokens
|
|
227
|
-
),
|
|
228
|
-
OpenAIModels.CODEX_MINI_LATEST: ModelPricing(
|
|
229
|
-
prompt_tokens_cost=0.0015, # $0.0015 per 1000 tokens
|
|
230
|
-
completion_tokens_cost=0.006 # $0.006 per 1000 tokens
|
|
231
|
-
),
|
|
232
|
-
OpenAIModels.GPT_4O_MINI_SEARCH_PREVIEW: ModelPricing(
|
|
233
|
-
prompt_tokens_cost=0.00015, # $0.00015 per 1000 tokens
|
|
234
|
-
completion_tokens_cost=0.0006 # $0.0006 per 1000 tokens
|
|
235
|
-
),
|
|
236
|
-
OpenAIModels.GPT_4O_SEARCH_PREVIEW: ModelPricing(
|
|
237
|
-
prompt_tokens_cost=0.0025, # $0.0025 per 1000 tokens
|
|
238
|
-
completion_tokens_cost=0.01 # $0.01 per 1000 tokens
|
|
239
|
-
),
|
|
240
|
-
OpenAIModels.COMPUTER_USE_PREVIEW: ModelPricing(
|
|
241
|
-
prompt_tokens_cost=0.003, # $0.003 per 1000 tokens
|
|
242
|
-
completion_tokens_cost=0.012 # $0.012 per 1000 tokens
|
|
243
|
-
),
|
|
244
|
-
OpenAIModels.CHATGPT_4O_LATEST: ModelPricing(
|
|
245
|
-
prompt_tokens_cost=0.005, # $0.005 per 1000 tokens
|
|
246
|
-
completion_tokens_cost=0.015 # $0.015 per 1000 tokens
|
|
247
|
-
),
|
|
248
|
-
OpenAIModels.GPT_4_TURBO_2024_04_09: ModelPricing(
|
|
249
|
-
prompt_tokens_cost=0.01, # $0.01 per 1000 tokens
|
|
250
|
-
completion_tokens_cost=0.03 # $0.03 per 1000 tokens
|
|
251
|
-
),
|
|
252
|
-
OpenAIModels.GPT_4_0125_PREVIEW: ModelPricing(
|
|
253
|
-
prompt_tokens_cost=0.01, # $0.01 per 1000 tokens
|
|
254
|
-
completion_tokens_cost=0.03 # $0.03 per 1000 tokens
|
|
255
|
-
),
|
|
256
|
-
OpenAIModels.GPT_4_1106_PREVIEW: ModelPricing(
|
|
257
|
-
prompt_tokens_cost=0.01, # $0.01 per 1000 tokens
|
|
258
|
-
completion_tokens_cost=0.03 # $0.03 per 1000 tokens
|
|
259
|
-
),
|
|
260
|
-
OpenAIModels.GPT_4_1106_VISION_PREVIEW: ModelPricing(
|
|
261
|
-
prompt_tokens_cost=0.01, # $0.01 per 1000 tokens
|
|
262
|
-
completion_tokens_cost=0.03 # $0.03 per 1000 tokens
|
|
263
|
-
),
|
|
264
|
-
OpenAIModels.GPT_4_0613: ModelPricing(
|
|
265
|
-
prompt_tokens_cost=0.03, # $0.03 per 1000 tokens
|
|
266
|
-
completion_tokens_cost=0.06 # $0.06 per 1000 tokens
|
|
267
|
-
),
|
|
268
|
-
OpenAIModels.GPT_4_0314: ModelPricing(
|
|
269
|
-
prompt_tokens_cost=0.03, # $0.03 per 1000 tokens
|
|
270
|
-
completion_tokens_cost=0.06 # $0.06 per 1000 tokens
|
|
271
|
-
),
|
|
272
|
-
OpenAIModels.GPT_4_32K: ModelPricing(
|
|
273
|
-
prompt_tokens_cost=0.06, # $0.06 per 1000 tokens
|
|
274
|
-
completion_tokens_cost=0.12 # $0.12 per 1000 tokens
|
|
275
|
-
),
|
|
276
|
-
OpenAIModels.GPT_3_5_TURBO: ModelPricing(
|
|
277
|
-
prompt_tokens_cost=0.0005, # $0.0005 per 1000 tokens
|
|
278
|
-
completion_tokens_cost=0.0015 # $0.0015 per 1000 tokens
|
|
279
|
-
),
|
|
280
|
-
OpenAIModels.GPT_3_5_TURBO_0125: ModelPricing(
|
|
281
|
-
prompt_tokens_cost=0.0005, # $0.0005 per 1000 tokens
|
|
282
|
-
completion_tokens_cost=0.0015 # $0.0015 per 1000 tokens
|
|
283
|
-
),
|
|
284
|
-
OpenAIModels.GPT_3_5_TURBO_1106: ModelPricing(
|
|
285
|
-
prompt_tokens_cost=0.001, # $0.001 per 1000 tokens
|
|
286
|
-
completion_tokens_cost=0.002 # $0.002 per 1000 tokens
|
|
287
|
-
),
|
|
288
|
-
OpenAIModels.GPT_3_5_TURBO_0613: ModelPricing(
|
|
289
|
-
prompt_tokens_cost=0.0015, # $0.0015 per 1000 tokens
|
|
290
|
-
completion_tokens_cost=0.002 # $0.002 per 1000 tokens
|
|
291
|
-
),
|
|
292
|
-
OpenAIModels.GPT_3_5_0301: ModelPricing(
|
|
293
|
-
prompt_tokens_cost=0.0015, # $0.0015 per 1000 tokens
|
|
294
|
-
completion_tokens_cost=0.002 # $0.002 per 1000 tokens
|
|
295
|
-
),
|
|
296
|
-
OpenAIModels.GPT_3_5_TURBO_INSTRUCT: ModelPricing(
|
|
297
|
-
prompt_tokens_cost=0.0015, # $0.0015 per 1000 tokens
|
|
298
|
-
completion_tokens_cost=0.002 # $0.002 per 1000 tokens
|
|
299
|
-
),
|
|
300
|
-
OpenAIModels.GPT_3_5_TURBO_16K_0613: ModelPricing(
|
|
301
|
-
prompt_tokens_cost=0.003, # $0.003 per 1000 tokens
|
|
302
|
-
completion_tokens_cost=0.004 # $0.004 per 1000 tokens
|
|
303
|
-
),
|
|
304
|
-
OpenAIModels.DAVINCI_002: ModelPricing(
|
|
305
|
-
prompt_tokens_cost=0.002, # $0.002 per 1000 tokens
|
|
306
|
-
completion_tokens_cost=0.002 # $0.002 per 1000 tokens
|
|
307
|
-
),
|
|
308
|
-
OpenAIModels.BABBAGE_002: ModelPricing(
|
|
309
|
-
prompt_tokens_cost=0.0004, # $0.0004 per 1000 tokens
|
|
310
|
-
completion_tokens_cost=0.0004 # $0.0004 per 1000 tokens
|
|
311
|
-
),
|
|
312
66
|
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
),
|
|
322
|
-
AnthropicModels.OPUS_4_1: ModelPricing(
|
|
323
|
-
prompt_tokens_cost=0.015, # $0.015 per 1000 tokens
|
|
324
|
-
completion_tokens_cost=0.075 # $0.075 per 1000 tokens
|
|
325
|
-
),
|
|
326
|
-
AnthropicModels.SONNET_4: ModelPricing(
|
|
327
|
-
prompt_tokens_cost=0.003, # $0.003 per 1000 tokens
|
|
328
|
-
completion_tokens_cost=0.015 # $0.015 per 1000 tokens
|
|
329
|
-
),
|
|
330
|
-
AnthropicModels.OPUS_4: ModelPricing(
|
|
331
|
-
prompt_tokens_cost=0.015, # $0.015 per 1000 tokens
|
|
332
|
-
completion_tokens_cost=0.075 # $0.075 per 1000 tokens
|
|
333
|
-
),
|
|
334
|
-
AnthropicModels.SONNET_3_7: ModelPricing(
|
|
335
|
-
prompt_tokens_cost=0.003, # $0.003 per 1000 tokens
|
|
336
|
-
completion_tokens_cost=0.015 # $0.015 per 1000 tokens
|
|
337
|
-
),
|
|
338
|
-
AnthropicModels.HAIKU_3_5: ModelPricing(
|
|
339
|
-
prompt_tokens_cost=0.0008, # $0.0008 per 1000 tokens
|
|
340
|
-
completion_tokens_cost=0.004 # $0.004 per 1000 tokens
|
|
341
|
-
),
|
|
342
|
-
AnthropicModels.OPUS_3: ModelPricing(
|
|
343
|
-
prompt_tokens_cost=0.015, # $0.015 per 1000 tokens
|
|
344
|
-
completion_tokens_cost=0.075 # $0.075 per 1000 tokens
|
|
345
|
-
),
|
|
346
|
-
AnthropicModels.HAIKU_3: ModelPricing(
|
|
347
|
-
prompt_tokens_cost=0.00025, # $0.00025 per 1000 tokens
|
|
348
|
-
completion_tokens_cost=0.00125 # $0.00125 per 1000 tokens
|
|
349
|
-
),
|
|
67
|
+
@dataclass
|
|
68
|
+
class CostBreakdown:
|
|
69
|
+
"""Cost breakdown details."""
|
|
70
|
+
input_cost: float
|
|
71
|
+
output_cost: float
|
|
72
|
+
cached_cost: float
|
|
73
|
+
audio_cost: float
|
|
74
|
+
total_cost: float
|
|
350
75
|
|
|
351
|
-
# Google DeepMind Models (pricing per 1000 tokens)
|
|
352
|
-
GoogleDeepMindModels.GEMINI_2_5_PRO: ModelPricing(
|
|
353
|
-
prompt_tokens_cost=0.00125, # $0.00125 per 1000 tokens
|
|
354
|
-
completion_tokens_cost=0.01 # $0.01 per 1000 tokens
|
|
355
|
-
),
|
|
356
|
-
GoogleDeepMindModels.GEMINI_2_5_FLASH: ModelPricing(
|
|
357
|
-
prompt_tokens_cost=0.00015, # $0.00015 per 1000 tokens
|
|
358
|
-
completion_tokens_cost=0.0006 # $0.0006 per 1000 tokens
|
|
359
|
-
),
|
|
360
|
-
GoogleDeepMindModels.GEMINI_2_5_FLASH_PREVIEW: ModelPricing(
|
|
361
|
-
prompt_tokens_cost=0.3, # $0.30 per 1000 tokens
|
|
362
|
-
completion_tokens_cost=2.5 # $2.50 per 1000 tokens
|
|
363
|
-
),
|
|
364
|
-
GoogleDeepMindModels.GEMINI_2_5_FLASH_LITE: ModelPricing(
|
|
365
|
-
prompt_tokens_cost=0.0001, # $0.0001 per 1000 tokens
|
|
366
|
-
completion_tokens_cost=0.0004 # $0.0004 per 1000 tokens
|
|
367
|
-
),
|
|
368
|
-
GoogleDeepMindModels.GEMINI_2_5_FLASH_LITE_PREVIEW: ModelPricing(
|
|
369
|
-
prompt_tokens_cost=0.0001, # $0.0001 per 1000 tokens
|
|
370
|
-
completion_tokens_cost=0.0004 # $0.0004 per 1000 tokens
|
|
371
|
-
),
|
|
372
|
-
GoogleDeepMindModels.GEMINI_2_5_FLASH_NATIVE_AUDIO: ModelPricing(
|
|
373
|
-
prompt_tokens_cost=0.0005, # $0.0005 per 1000 tokens
|
|
374
|
-
completion_tokens_cost=0.002 # $0.002 per 1000 tokens
|
|
375
|
-
),
|
|
376
|
-
GoogleDeepMindModels.GEMINI_2_5_FLASH_IMAGE: ModelPricing(
|
|
377
|
-
prompt_tokens_cost=0.0003, # $0.0003 per 1000 tokens
|
|
378
|
-
completion_tokens_cost=0.03 # $0.03 per 1000 tokens
|
|
379
|
-
),
|
|
380
|
-
GoogleDeepMindModels.GEMINI_2_5_FLASH_PREVIEW_TTS: ModelPricing(
|
|
381
|
-
prompt_tokens_cost=0.0005, # $0.0005 per 1000 tokens
|
|
382
|
-
completion_tokens_cost=0.01 # $0.01 per 1000 tokens
|
|
383
|
-
),
|
|
384
|
-
GoogleDeepMindModels.GEMINI_2_5_PRO_PREVIEW_TTS: ModelPricing(
|
|
385
|
-
prompt_tokens_cost=0.001, # $0.001 per 1000 tokens
|
|
386
|
-
completion_tokens_cost=0.02 # $0.02 per 1000 tokens
|
|
387
|
-
),
|
|
388
|
-
GoogleDeepMindModels.GEMINI_2_5_COMPUTER_USE_PREVIEW: ModelPricing(
|
|
389
|
-
prompt_tokens_cost=0.00125, # $0.00125 per 1000 tokens
|
|
390
|
-
completion_tokens_cost=0.01 # $0.01 per 1000 tokens
|
|
391
|
-
),
|
|
392
76
|
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
completion_tokens_cost=0.00059 # $0.00059 per 1000 tokens
|
|
401
|
-
),
|
|
402
|
-
MetaModels.LLAMA_3_3_70B_INSTRUCT_TURBO: ModelPricing(
|
|
403
|
-
prompt_tokens_cost=0.00088, # $0.00088 per 1000 tokens
|
|
404
|
-
completion_tokens_cost=0.00088 # $0.00088 per 1000 tokens
|
|
405
|
-
),
|
|
406
|
-
MetaModels.LLAMA_3_2_3B_INSTRUCT_TURBO: ModelPricing(
|
|
407
|
-
prompt_tokens_cost=0.00006, # $0.00006 per 1000 tokens
|
|
408
|
-
completion_tokens_cost=0.00006 # $0.00006 per 1000 tokens
|
|
409
|
-
),
|
|
410
|
-
MetaModels.LLAMA_3_1_405B_INSTRUCT_TURBO: ModelPricing(
|
|
411
|
-
prompt_tokens_cost=0.0035, # $0.0035 per 1000 tokens
|
|
412
|
-
completion_tokens_cost=0.0035 # $0.0035 per 1000 tokens
|
|
413
|
-
),
|
|
414
|
-
MetaModels.LLAMA_3_1_70B_INSTRUCT_TURBO: ModelPricing(
|
|
415
|
-
prompt_tokens_cost=0.00088, # $0.00088 per 1000 tokens
|
|
416
|
-
completion_tokens_cost=0.00088 # $0.00088 per 1000 tokens
|
|
417
|
-
),
|
|
418
|
-
MetaModels.LLAMA_3_1_8B_INSTRUCT_TURBO: ModelPricing(
|
|
419
|
-
prompt_tokens_cost=0.00018, # $0.00018 per 1000 tokens
|
|
420
|
-
completion_tokens_cost=0.00018 # $0.00018 per 1000 tokens
|
|
421
|
-
),
|
|
422
|
-
MetaModels.LLAMA_3_70B_INSTRUCT_TURBO: ModelPricing(
|
|
423
|
-
prompt_tokens_cost=0.00088, # $0.00088 per 1000 tokens
|
|
424
|
-
completion_tokens_cost=0.00088 # $0.00088 per 1000 tokens
|
|
425
|
-
),
|
|
426
|
-
MetaModels.LLAMA_3_70B_INSTRUCT_REFERENCE: ModelPricing(
|
|
427
|
-
prompt_tokens_cost=0.00088, # $0.00088 per 1000 tokens
|
|
428
|
-
completion_tokens_cost=0.00088 # $0.00088 per 1000 tokens
|
|
429
|
-
),
|
|
430
|
-
MetaModels.LLAMA_3_8B_INSTRUCT_LITE: ModelPricing(
|
|
431
|
-
prompt_tokens_cost=0.0001, # $0.0001 per 1000 tokens
|
|
432
|
-
completion_tokens_cost=0.0001 # $0.0001 per 1000 tokens
|
|
433
|
-
),
|
|
434
|
-
MetaModels.LLAMA_2: ModelPricing(
|
|
435
|
-
prompt_tokens_cost=0.0009, # $0.0009 per 1000 tokens
|
|
436
|
-
completion_tokens_cost=0.0009 # $0.0009 per 1000 tokens
|
|
437
|
-
),
|
|
438
|
-
MetaModels.LLAMA_GUARD_4_12B: ModelPricing(
|
|
439
|
-
prompt_tokens_cost=0.0002, # $0.0002 per 1000 tokens
|
|
440
|
-
completion_tokens_cost=0.0002 # $0.0002 per 1000 tokens
|
|
441
|
-
),
|
|
442
|
-
MetaModels.LLAMA_GUARD_3_11B_VISION_TURBO: ModelPricing(
|
|
443
|
-
prompt_tokens_cost=0.00018, # $0.00018 per 1000 tokens
|
|
444
|
-
completion_tokens_cost=0.00018 # $0.00018 per 1000 tokens
|
|
445
|
-
),
|
|
446
|
-
MetaModels.LLAMA_GUARD_3_8B: ModelPricing(
|
|
447
|
-
prompt_tokens_cost=0.0002, # $0.0002 per 1000 tokens
|
|
448
|
-
completion_tokens_cost=0.0002 # $0.0002 per 1000 tokens
|
|
449
|
-
),
|
|
450
|
-
MetaModels.LLAMA_GUARD_2_8B: ModelPricing(
|
|
451
|
-
prompt_tokens_cost=0.0002, # $0.0002 per 1000 tokens
|
|
452
|
-
completion_tokens_cost=0.0002 # $0.0002 per 1000 tokens
|
|
453
|
-
),
|
|
454
|
-
MetaModels.SALESFORCE_LLAMA_RANK_V1_8B: ModelPricing(
|
|
455
|
-
prompt_tokens_cost=0.0001, # $0.0001 per 1000 tokens
|
|
456
|
-
completion_tokens_cost=0.0001 # $0.0001 per 1000 tokens
|
|
457
|
-
),
|
|
77
|
+
@dataclass
|
|
78
|
+
class SendUsageV2Response:
|
|
79
|
+
"""Response from V2 usage API."""
|
|
80
|
+
cp_data_id: str
|
|
81
|
+
calculated_cost: float
|
|
82
|
+
breakdown: CostBreakdown
|
|
83
|
+
model_metadata: Dict[str, Any]
|
|
458
84
|
|
|
459
|
-
# AWS Models (pricing per 1000 tokens)
|
|
460
|
-
AWSModels.AMAZON_NOVA_MICRO: ModelPricing(
|
|
461
|
-
prompt_tokens_cost=0.035, # $0.035 per 1000 tokens
|
|
462
|
-
completion_tokens_cost=0.14 # $0.14 per 1000 tokens
|
|
463
|
-
),
|
|
464
|
-
AWSModels.AMAZON_NOVA_LITE: ModelPricing(
|
|
465
|
-
prompt_tokens_cost=0.06, # $0.06 per 1000 tokens
|
|
466
|
-
completion_tokens_cost=0.24 # $0.24 per 1000 tokens
|
|
467
|
-
),
|
|
468
|
-
AWSModels.AMAZON_NOVA_PRO: ModelPricing(
|
|
469
|
-
prompt_tokens_cost=0.8, # $0.8 per 1000 tokens
|
|
470
|
-
completion_tokens_cost=3.2 # $3.2 per 1000 tokens
|
|
471
|
-
),
|
|
472
85
|
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
86
|
+
@dataclass
|
|
87
|
+
class Customer:
|
|
88
|
+
"""Customer data model."""
|
|
89
|
+
id: str
|
|
90
|
+
external_id: str
|
|
91
|
+
name: str
|
|
92
|
+
email: Optional[str] = None
|
|
93
|
+
website: Optional[str] = None
|
|
94
|
+
phone: Optional[str] = None
|
|
95
|
+
address_line1: Optional[str] = None
|
|
96
|
+
address_line2: Optional[str] = None
|
|
97
|
+
city: Optional[str] = None
|
|
98
|
+
state: Optional[str] = None
|
|
99
|
+
zip_code: Optional[str] = None
|
|
100
|
+
country: Optional[str] = None
|
|
101
|
+
created_at: Optional[str] = None
|
|
102
|
+
updated_at: Optional[str] = None
|
|
490
103
|
|
|
491
|
-
# Cohere Models (pricing per 1000 tokens)
|
|
492
|
-
CohereModels.COMMAND_R7B: ModelPricing(
|
|
493
|
-
prompt_tokens_cost=0.0000375, # $0.0000375 per 1000 tokens
|
|
494
|
-
completion_tokens_cost=0.00015 # $0.00015 per 1000 tokens
|
|
495
|
-
),
|
|
496
|
-
CohereModels.COMMAND_R: ModelPricing(
|
|
497
|
-
prompt_tokens_cost=0.00015, # $0.00015 per 1000 tokens
|
|
498
|
-
completion_tokens_cost=0.0006 # $0.0006 per 1000 tokens
|
|
499
|
-
),
|
|
500
|
-
CohereModels.COMMAND_R_PLUS: ModelPricing(
|
|
501
|
-
prompt_tokens_cost=0.00250, # $0.00250 per 1000 tokens
|
|
502
|
-
completion_tokens_cost=0.01 # $0.01 per 1000 tokens
|
|
503
|
-
),
|
|
504
|
-
CohereModels.COMMAND_A: ModelPricing(
|
|
505
|
-
prompt_tokens_cost=0.001, # $0.001 per 1000 tokens
|
|
506
|
-
completion_tokens_cost=0.002 # $0.002 per 1000 tokens
|
|
507
|
-
),
|
|
508
|
-
CohereModels.AYA_EXPANSE_8B_32B: ModelPricing(
|
|
509
|
-
prompt_tokens_cost=0.00050, # $0.00050 per 1000 tokens
|
|
510
|
-
completion_tokens_cost=0.00150 # $0.00150 per 1000 tokens
|
|
511
|
-
),
|
|
512
104
|
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
prompt_tokens_cost=0.001485, # $0.001485 per 1000 tokens
|
|
528
|
-
completion_tokens_cost=0.00594 # $0.00594 per 1000 tokens
|
|
529
|
-
),
|
|
530
|
-
DeepSeekModels.DEEPSEEK_V3_2_EXP: ModelPricing(
|
|
531
|
-
prompt_tokens_cost=0.000028, # $0.000028 per 1000 tokens
|
|
532
|
-
completion_tokens_cost=0.00042 # $0.00042 per 1000 tokens
|
|
533
|
-
),
|
|
105
|
+
@dataclass
|
|
106
|
+
class CustomerCreateOrGetRequest:
|
|
107
|
+
"""Request model for creating or getting a customer."""
|
|
108
|
+
name: str
|
|
109
|
+
external_id: str
|
|
110
|
+
email: Optional[str] = None
|
|
111
|
+
website: Optional[str] = None
|
|
112
|
+
phone: Optional[str] = None
|
|
113
|
+
address_line1: Optional[str] = None
|
|
114
|
+
address_line2: Optional[str] = None
|
|
115
|
+
city: Optional[str] = None
|
|
116
|
+
state: Optional[str] = None
|
|
117
|
+
zip_code: Optional[str] = None
|
|
118
|
+
country: Optional[str] = None
|
|
534
119
|
|
|
535
|
-
# Moonshot AI / Kimi Models (pricing per 1000 tokens)
|
|
536
|
-
MoonshotAIModels.KIMI_K2_INSTRUCT_0905: ModelPricing(
|
|
537
|
-
prompt_tokens_cost=0.001, # $0.001 per 1000 tokens
|
|
538
|
-
cached_tokens_cost=0.0005, # $0.0005 per 1000 tokens (as specified)
|
|
539
|
-
completion_tokens_cost=0.003 # $0.003 per 1000 tokens
|
|
540
|
-
),
|
|
541
|
-
MoonshotAIModels.KIMI_K2_0905_1T_256K: ModelPricing(
|
|
542
|
-
prompt_tokens_cost=0.001, # $0.001 per 1000 tokens
|
|
543
|
-
# cached_tokens_cost not specified - model doesn't support cached tokens
|
|
544
|
-
completion_tokens_cost=0.003 # $0.003 per 1000 tokens
|
|
545
|
-
),
|
|
546
|
-
}
|