paygent-sdk 3.0.0__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 -256
- paygent_sdk/models.py +57 -479
- 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.0.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.0.dist-info → paygent_sdk-4.0.0.dist-info}/WHEEL +1 -1
- paygent_sdk-3.0.0.dist-info/RECORD +0 -22
- {paygent_sdk-3.0.0.dist-info → paygent_sdk-4.0.0.dist-info}/licenses/LICENSE +0 -0
- {paygent_sdk-3.0.0.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,470 +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_CODEX: ModelPricing(
|
|
111
|
-
prompt_tokens_cost=0.00125, # $0.00125 per 1000 tokens
|
|
112
|
-
cached_tokens_cost=0.000125, # 90% discount for cached tokens
|
|
113
|
-
completion_tokens_cost=0.01 # $0.01 per 1000 tokens
|
|
114
|
-
),
|
|
115
|
-
OpenAIModels.GPT_5_PRO: ModelPricing(
|
|
116
|
-
prompt_tokens_cost=0.015, # $0.015 per 1000 tokens
|
|
117
|
-
completion_tokens_cost=0.12 # $0.12 per 1000 tokens
|
|
118
|
-
),
|
|
119
|
-
OpenAIModels.GPT_5_SEARCH_API: ModelPricing(
|
|
120
|
-
prompt_tokens_cost=0.00125, # $0.00125 per 1000 tokens
|
|
121
|
-
completion_tokens_cost=0.01 # $0.01 per 1000 tokens
|
|
122
|
-
),
|
|
123
|
-
OpenAIModels.GPT_4_1: ModelPricing(
|
|
124
|
-
prompt_tokens_cost=0.002, # $0.002 per 1000 tokens
|
|
125
|
-
cached_tokens_cost=0.0005, # 50% discount for cached tokens
|
|
126
|
-
completion_tokens_cost=0.008 # $0.008 per 1000 tokens
|
|
127
|
-
),
|
|
128
|
-
OpenAIModels.GPT_4_1_MINI: ModelPricing(
|
|
129
|
-
prompt_tokens_cost=0.0004, # $0.0004 per 1000 tokens
|
|
130
|
-
cached_tokens_cost=0.0001, # 50% discount for cached tokens
|
|
131
|
-
completion_tokens_cost=0.0016 # $0.0016 per 1000 tokens
|
|
132
|
-
),
|
|
133
|
-
OpenAIModels.GPT_4_1_NANO: ModelPricing(
|
|
134
|
-
prompt_tokens_cost=0.0001, # $0.0001 per 1000 tokens
|
|
135
|
-
cached_tokens_cost=0.000025, # 50% discount for cached tokens
|
|
136
|
-
completion_tokens_cost=0.0004 # $0.0004 per 1000 tokens
|
|
137
|
-
),
|
|
138
|
-
OpenAIModels.GPT_4O: ModelPricing(
|
|
139
|
-
prompt_tokens_cost=0.0025, # $0.0025 per 1000 tokens
|
|
140
|
-
cached_tokens_cost=0.00125, # 50% discount for cached tok
|
|
141
|
-
completion_tokens_cost=0.01 # $0.01 per 1000 tokens
|
|
142
|
-
),
|
|
143
|
-
OpenAIModels.GPT_4O_2024_05_13: ModelPricing(
|
|
144
|
-
prompt_tokens_cost=0.005, # $0.005 per 1000 tokens
|
|
145
|
-
cached_tokens_cost=0.0025, # 50% discount for cached tokens
|
|
146
|
-
completion_tokens_cost=0.015 # $0.015 per 1000 tokens
|
|
147
|
-
),
|
|
148
|
-
OpenAIModels.GPT_4O_MINI: ModelPricing(
|
|
149
|
-
prompt_tokens_cost=0.00015, # $0.00015 per 1000 tokens
|
|
150
|
-
cached_tokens_cost=0.000075, # 50% discount for cached tokens
|
|
151
|
-
completion_tokens_cost=0.0006 # $0.0006 per 1000 tokens
|
|
152
|
-
),
|
|
153
|
-
OpenAIModels.GPT_REALTIME: ModelPricing(
|
|
154
|
-
prompt_tokens_cost=0.004, # $0.004 per 1000 tokens
|
|
155
|
-
completion_tokens_cost=0.016 # $0.016 per 1000 tokens
|
|
156
|
-
),
|
|
157
|
-
OpenAIModels.GPT_REALTIME_MINI: ModelPricing(
|
|
158
|
-
prompt_tokens_cost=0.0006, # $0.0006 per 1000 tokens
|
|
159
|
-
completion_tokens_cost=0.0024 # $0.0024 per 1000 tokens
|
|
160
|
-
),
|
|
161
|
-
OpenAIModels.GPT_4O_REALTIME_PREVIEW: ModelPricing(
|
|
162
|
-
prompt_tokens_cost=0.005, # $0.005 per 1000 tokens
|
|
163
|
-
cached_tokens_cost=0.0025, # 50% discount for cached tokens
|
|
164
|
-
completion_tokens_cost=0.02 # $0.02 per 1000 tokens
|
|
165
|
-
),
|
|
166
|
-
OpenAIModels.GPT_4O_MINI_REALTIME_PREVIEW: ModelPricing(
|
|
167
|
-
prompt_tokens_cost=0.0006, # $0.0006 per 1000 tokens
|
|
168
|
-
cached_tokens_cost=0.0003, # 50% discount for cached tokens
|
|
169
|
-
completion_tokens_cost=0.0024 # $0.0024 per 1000 tokens
|
|
170
|
-
),
|
|
171
|
-
OpenAIModels.GPT_AUDIO: ModelPricing(
|
|
172
|
-
prompt_tokens_cost=0.0025, # $0.0025 per 1000 tokens
|
|
173
|
-
completion_tokens_cost=0.01 # $0.01 per 1000 tokens
|
|
174
|
-
),
|
|
175
|
-
OpenAIModels.GPT_AUDIO_MINI: ModelPricing(
|
|
176
|
-
prompt_tokens_cost=0.0006, # $0.0006 per 1000 tokens
|
|
177
|
-
completion_tokens_cost=0.0024 # $0.0024 per 1000 tokens
|
|
178
|
-
),
|
|
179
|
-
OpenAIModels.GPT_4O_AUDIO_PREVIEW: ModelPricing(
|
|
180
|
-
prompt_tokens_cost=0.0025, # $0.0025 per 1000 tokens
|
|
181
|
-
completion_tokens_cost=0.01 # $0.01 per 1000 tokens
|
|
182
|
-
),
|
|
183
|
-
OpenAIModels.GPT_4O_MINI_AUDIO_PREVIEW: ModelPricing(
|
|
184
|
-
prompt_tokens_cost=0.00015, # $0.00015 per 1000 tokens
|
|
185
|
-
completion_tokens_cost=0.0006 # $0.0006 per 1000 tokens
|
|
186
|
-
),
|
|
187
|
-
OpenAIModels.O1: ModelPricing(
|
|
188
|
-
prompt_tokens_cost=0.015, # $0.015 per 1000 tokens
|
|
189
|
-
completion_tokens_cost=0.06 # $0.06 per 1000 tokens
|
|
190
|
-
),
|
|
191
|
-
OpenAIModels.O1_PRO: ModelPricing(
|
|
192
|
-
prompt_tokens_cost=0.15, # $0.15 per 1000 tokens
|
|
193
|
-
completion_tokens_cost=0.6 # $0.6 per 1000 tokens
|
|
194
|
-
),
|
|
195
|
-
OpenAIModels.O3_PRO: ModelPricing(
|
|
196
|
-
prompt_tokens_cost=0.02, # $0.02 per 1000 tokens
|
|
197
|
-
completion_tokens_cost=0.08 # $0.08 per 1000 tokens
|
|
198
|
-
),
|
|
199
|
-
OpenAIModels.O3: ModelPricing(
|
|
200
|
-
prompt_tokens_cost=0.002, # $0.002 per 1000 tokens
|
|
201
|
-
completion_tokens_cost=0.008 # $0.008 per 1000 tokens
|
|
202
|
-
),
|
|
203
|
-
OpenAIModels.O3_DEEP_RESEARCH: ModelPricing(
|
|
204
|
-
prompt_tokens_cost=0.01, # $0.01 per 1000 tokens
|
|
205
|
-
completion_tokens_cost=0.04 # $0.04 per 1000 tokens
|
|
206
|
-
),
|
|
207
|
-
OpenAIModels.O4_MINI: ModelPricing(
|
|
208
|
-
prompt_tokens_cost=0.0011, # $0.0011 per 1000 tokens
|
|
209
|
-
completion_tokens_cost=0.0044 # $0.0044 per 1000 tokens
|
|
210
|
-
),
|
|
211
|
-
OpenAIModels.O4_MINI_DEEP_RESEARCH: ModelPricing(
|
|
212
|
-
prompt_tokens_cost=0.002, # $0.002 per 1000 tokens
|
|
213
|
-
completion_tokens_cost=0.008 # $0.008 per 1000 tokens
|
|
214
|
-
),
|
|
215
|
-
OpenAIModels.O3_MINI: ModelPricing(
|
|
216
|
-
prompt_tokens_cost=0.0011, # $0.0011 per 1000 tokens
|
|
217
|
-
completion_tokens_cost=0.0044 # $0.0044 per 1000 tokens
|
|
218
|
-
),
|
|
219
|
-
OpenAIModels.O1_MINI: ModelPricing(
|
|
220
|
-
prompt_tokens_cost=0.0011, # $0.0011 per 1000 tokens
|
|
221
|
-
completion_tokens_cost=0.0044 # $0.0044 per 1000 tokens
|
|
222
|
-
),
|
|
223
|
-
OpenAIModels.CODEX_MINI_LATEST: ModelPricing(
|
|
224
|
-
prompt_tokens_cost=0.0015, # $0.0015 per 1000 tokens
|
|
225
|
-
completion_tokens_cost=0.006 # $0.006 per 1000 tokens
|
|
226
|
-
),
|
|
227
|
-
OpenAIModels.GPT_4O_MINI_SEARCH_PREVIEW: ModelPricing(
|
|
228
|
-
prompt_tokens_cost=0.00015, # $0.00015 per 1000 tokens
|
|
229
|
-
completion_tokens_cost=0.0006 # $0.0006 per 1000 tokens
|
|
230
|
-
),
|
|
231
|
-
OpenAIModels.GPT_4O_SEARCH_PREVIEW: ModelPricing(
|
|
232
|
-
prompt_tokens_cost=0.0025, # $0.0025 per 1000 tokens
|
|
233
|
-
completion_tokens_cost=0.01 # $0.01 per 1000 tokens
|
|
234
|
-
),
|
|
235
|
-
OpenAIModels.COMPUTER_USE_PREVIEW: ModelPricing(
|
|
236
|
-
prompt_tokens_cost=0.003, # $0.003 per 1000 tokens
|
|
237
|
-
completion_tokens_cost=0.012 # $0.012 per 1000 tokens
|
|
238
|
-
),
|
|
239
|
-
OpenAIModels.CHATGPT_4O_LATEST: ModelPricing(
|
|
240
|
-
prompt_tokens_cost=0.005, # $0.005 per 1000 tokens
|
|
241
|
-
completion_tokens_cost=0.015 # $0.015 per 1000 tokens
|
|
242
|
-
),
|
|
243
|
-
OpenAIModels.GPT_4_TURBO_2024_04_09: ModelPricing(
|
|
244
|
-
prompt_tokens_cost=0.01, # $0.01 per 1000 tokens
|
|
245
|
-
completion_tokens_cost=0.03 # $0.03 per 1000 tokens
|
|
246
|
-
),
|
|
247
|
-
OpenAIModels.GPT_4_0125_PREVIEW: ModelPricing(
|
|
248
|
-
prompt_tokens_cost=0.01, # $0.01 per 1000 tokens
|
|
249
|
-
completion_tokens_cost=0.03 # $0.03 per 1000 tokens
|
|
250
|
-
),
|
|
251
|
-
OpenAIModels.GPT_4_1106_PREVIEW: ModelPricing(
|
|
252
|
-
prompt_tokens_cost=0.01, # $0.01 per 1000 tokens
|
|
253
|
-
completion_tokens_cost=0.03 # $0.03 per 1000 tokens
|
|
254
|
-
),
|
|
255
|
-
OpenAIModels.GPT_4_1106_VISION_PREVIEW: ModelPricing(
|
|
256
|
-
prompt_tokens_cost=0.01, # $0.01 per 1000 tokens
|
|
257
|
-
completion_tokens_cost=0.03 # $0.03 per 1000 tokens
|
|
258
|
-
),
|
|
259
|
-
OpenAIModels.GPT_4_0613: ModelPricing(
|
|
260
|
-
prompt_tokens_cost=0.03, # $0.03 per 1000 tokens
|
|
261
|
-
completion_tokens_cost=0.06 # $0.06 per 1000 tokens
|
|
262
|
-
),
|
|
263
|
-
OpenAIModels.GPT_4_0314: ModelPricing(
|
|
264
|
-
prompt_tokens_cost=0.03, # $0.03 per 1000 tokens
|
|
265
|
-
completion_tokens_cost=0.06 # $0.06 per 1000 tokens
|
|
266
|
-
),
|
|
267
|
-
OpenAIModels.GPT_4_32K: ModelPricing(
|
|
268
|
-
prompt_tokens_cost=0.06, # $0.06 per 1000 tokens
|
|
269
|
-
completion_tokens_cost=0.12 # $0.12 per 1000 tokens
|
|
270
|
-
),
|
|
271
|
-
OpenAIModels.GPT_3_5_TURBO: ModelPricing(
|
|
272
|
-
prompt_tokens_cost=0.0005, # $0.0005 per 1000 tokens
|
|
273
|
-
completion_tokens_cost=0.0015 # $0.0015 per 1000 tokens
|
|
274
|
-
),
|
|
275
|
-
OpenAIModels.GPT_3_5_TURBO_0125: ModelPricing(
|
|
276
|
-
prompt_tokens_cost=0.0005, # $0.0005 per 1000 tokens
|
|
277
|
-
completion_tokens_cost=0.0015 # $0.0015 per 1000 tokens
|
|
278
|
-
),
|
|
279
|
-
OpenAIModels.GPT_3_5_TURBO_1106: ModelPricing(
|
|
280
|
-
prompt_tokens_cost=0.001, # $0.001 per 1000 tokens
|
|
281
|
-
completion_tokens_cost=0.002 # $0.002 per 1000 tokens
|
|
282
|
-
),
|
|
283
|
-
OpenAIModels.GPT_3_5_TURBO_0613: ModelPricing(
|
|
284
|
-
prompt_tokens_cost=0.0015, # $0.0015 per 1000 tokens
|
|
285
|
-
completion_tokens_cost=0.002 # $0.002 per 1000 tokens
|
|
286
|
-
),
|
|
287
|
-
OpenAIModels.GPT_3_5_0301: ModelPricing(
|
|
288
|
-
prompt_tokens_cost=0.0015, # $0.0015 per 1000 tokens
|
|
289
|
-
completion_tokens_cost=0.002 # $0.002 per 1000 tokens
|
|
290
|
-
),
|
|
291
|
-
OpenAIModels.GPT_3_5_TURBO_INSTRUCT: ModelPricing(
|
|
292
|
-
prompt_tokens_cost=0.0015, # $0.0015 per 1000 tokens
|
|
293
|
-
completion_tokens_cost=0.002 # $0.002 per 1000 tokens
|
|
294
|
-
),
|
|
295
|
-
OpenAIModels.GPT_3_5_TURBO_16K_0613: ModelPricing(
|
|
296
|
-
prompt_tokens_cost=0.003, # $0.003 per 1000 tokens
|
|
297
|
-
completion_tokens_cost=0.004 # $0.004 per 1000 tokens
|
|
298
|
-
),
|
|
299
|
-
OpenAIModels.DAVINCI_002: ModelPricing(
|
|
300
|
-
prompt_tokens_cost=0.002, # $0.002 per 1000 tokens
|
|
301
|
-
completion_tokens_cost=0.002 # $0.002 per 1000 tokens
|
|
302
|
-
),
|
|
303
|
-
OpenAIModels.BABBAGE_002: ModelPricing(
|
|
304
|
-
prompt_tokens_cost=0.0004, # $0.0004 per 1000 tokens
|
|
305
|
-
completion_tokens_cost=0.0004 # $0.0004 per 1000 tokens
|
|
306
|
-
),
|
|
307
66
|
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
),
|
|
317
|
-
AnthropicModels.OPUS_4_1: ModelPricing(
|
|
318
|
-
prompt_tokens_cost=0.015, # $0.015 per 1000 tokens
|
|
319
|
-
completion_tokens_cost=0.075 # $0.075 per 1000 tokens
|
|
320
|
-
),
|
|
321
|
-
AnthropicModels.SONNET_4: ModelPricing(
|
|
322
|
-
prompt_tokens_cost=0.003, # $0.003 per 1000 tokens
|
|
323
|
-
completion_tokens_cost=0.015 # $0.015 per 1000 tokens
|
|
324
|
-
),
|
|
325
|
-
AnthropicModels.OPUS_4: ModelPricing(
|
|
326
|
-
prompt_tokens_cost=0.015, # $0.015 per 1000 tokens
|
|
327
|
-
completion_tokens_cost=0.075 # $0.075 per 1000 tokens
|
|
328
|
-
),
|
|
329
|
-
AnthropicModels.SONNET_3_7: ModelPricing(
|
|
330
|
-
prompt_tokens_cost=0.003, # $0.003 per 1000 tokens
|
|
331
|
-
completion_tokens_cost=0.015 # $0.015 per 1000 tokens
|
|
332
|
-
),
|
|
333
|
-
AnthropicModels.HAIKU_3_5: ModelPricing(
|
|
334
|
-
prompt_tokens_cost=0.0008, # $0.0008 per 1000 tokens
|
|
335
|
-
completion_tokens_cost=0.004 # $0.004 per 1000 tokens
|
|
336
|
-
),
|
|
337
|
-
AnthropicModels.OPUS_3: ModelPricing(
|
|
338
|
-
prompt_tokens_cost=0.015, # $0.015 per 1000 tokens
|
|
339
|
-
completion_tokens_cost=0.075 # $0.075 per 1000 tokens
|
|
340
|
-
),
|
|
341
|
-
AnthropicModels.HAIKU_3: ModelPricing(
|
|
342
|
-
prompt_tokens_cost=0.00025, # $0.00025 per 1000 tokens
|
|
343
|
-
completion_tokens_cost=0.00125 # $0.00125 per 1000 tokens
|
|
344
|
-
),
|
|
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
|
|
345
75
|
|
|
346
|
-
# Google DeepMind Models (pricing per 1000 tokens)
|
|
347
|
-
GoogleDeepMindModels.GEMINI_2_5_PRO: ModelPricing(
|
|
348
|
-
prompt_tokens_cost=0.00125, # $0.00125 per 1000 tokens
|
|
349
|
-
completion_tokens_cost=0.01 # $0.01 per 1000 tokens
|
|
350
|
-
),
|
|
351
|
-
GoogleDeepMindModels.GEMINI_2_5_FLASH: ModelPricing(
|
|
352
|
-
prompt_tokens_cost=0.00015, # $0.00015 per 1000 tokens
|
|
353
|
-
completion_tokens_cost=0.0006 # $0.0006 per 1000 tokens
|
|
354
|
-
),
|
|
355
|
-
GoogleDeepMindModels.GEMINI_2_5_FLASH_PREVIEW: ModelPricing(
|
|
356
|
-
prompt_tokens_cost=0.3, # $0.30 per 1000 tokens
|
|
357
|
-
completion_tokens_cost=2.5 # $2.50 per 1000 tokens
|
|
358
|
-
),
|
|
359
|
-
GoogleDeepMindModels.GEMINI_2_5_FLASH_LITE: ModelPricing(
|
|
360
|
-
prompt_tokens_cost=0.0001, # $0.0001 per 1000 tokens
|
|
361
|
-
completion_tokens_cost=0.0004 # $0.0004 per 1000 tokens
|
|
362
|
-
),
|
|
363
|
-
GoogleDeepMindModels.GEMINI_2_5_FLASH_LITE_PREVIEW: ModelPricing(
|
|
364
|
-
prompt_tokens_cost=0.0001, # $0.0001 per 1000 tokens
|
|
365
|
-
completion_tokens_cost=0.0004 # $0.0004 per 1000 tokens
|
|
366
|
-
),
|
|
367
|
-
GoogleDeepMindModels.GEMINI_2_5_FLASH_NATIVE_AUDIO: ModelPricing(
|
|
368
|
-
prompt_tokens_cost=0.0005, # $0.0005 per 1000 tokens
|
|
369
|
-
completion_tokens_cost=0.002 # $0.002 per 1000 tokens
|
|
370
|
-
),
|
|
371
|
-
GoogleDeepMindModels.GEMINI_2_5_FLASH_IMAGE: ModelPricing(
|
|
372
|
-
prompt_tokens_cost=0.0003, # $0.0003 per 1000 tokens
|
|
373
|
-
completion_tokens_cost=0.03 # $0.03 per 1000 tokens
|
|
374
|
-
),
|
|
375
|
-
GoogleDeepMindModels.GEMINI_2_5_FLASH_PREVIEW_TTS: ModelPricing(
|
|
376
|
-
prompt_tokens_cost=0.0005, # $0.0005 per 1000 tokens
|
|
377
|
-
completion_tokens_cost=0.01 # $0.01 per 1000 tokens
|
|
378
|
-
),
|
|
379
|
-
GoogleDeepMindModels.GEMINI_2_5_PRO_PREVIEW_TTS: ModelPricing(
|
|
380
|
-
prompt_tokens_cost=0.001, # $0.001 per 1000 tokens
|
|
381
|
-
completion_tokens_cost=0.02 # $0.02 per 1000 tokens
|
|
382
|
-
),
|
|
383
|
-
GoogleDeepMindModels.GEMINI_2_5_COMPUTER_USE_PREVIEW: ModelPricing(
|
|
384
|
-
prompt_tokens_cost=0.00125, # $0.00125 per 1000 tokens
|
|
385
|
-
completion_tokens_cost=0.01 # $0.01 per 1000 tokens
|
|
386
|
-
),
|
|
387
76
|
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
completion_tokens_cost=0.00059 # $0.00059 per 1000 tokens
|
|
396
|
-
),
|
|
397
|
-
MetaModels.LLAMA_3_3_70B_INSTRUCT_TURBO: ModelPricing(
|
|
398
|
-
prompt_tokens_cost=0.00088, # $0.00088 per 1000 tokens
|
|
399
|
-
completion_tokens_cost=0.00088 # $0.00088 per 1000 tokens
|
|
400
|
-
),
|
|
401
|
-
MetaModels.LLAMA_3_2_3B_INSTRUCT_TURBO: ModelPricing(
|
|
402
|
-
prompt_tokens_cost=0.00006, # $0.00006 per 1000 tokens
|
|
403
|
-
completion_tokens_cost=0.00006 # $0.00006 per 1000 tokens
|
|
404
|
-
),
|
|
405
|
-
MetaModels.LLAMA_3_1_405B_INSTRUCT_TURBO: ModelPricing(
|
|
406
|
-
prompt_tokens_cost=0.0035, # $0.0035 per 1000 tokens
|
|
407
|
-
completion_tokens_cost=0.0035 # $0.0035 per 1000 tokens
|
|
408
|
-
),
|
|
409
|
-
MetaModels.LLAMA_3_1_70B_INSTRUCT_TURBO: ModelPricing(
|
|
410
|
-
prompt_tokens_cost=0.00088, # $0.00088 per 1000 tokens
|
|
411
|
-
completion_tokens_cost=0.00088 # $0.00088 per 1000 tokens
|
|
412
|
-
),
|
|
413
|
-
MetaModels.LLAMA_3_1_8B_INSTRUCT_TURBO: ModelPricing(
|
|
414
|
-
prompt_tokens_cost=0.00018, # $0.00018 per 1000 tokens
|
|
415
|
-
completion_tokens_cost=0.00018 # $0.00018 per 1000 tokens
|
|
416
|
-
),
|
|
417
|
-
MetaModels.LLAMA_3_70B_INSTRUCT_TURBO: ModelPricing(
|
|
418
|
-
prompt_tokens_cost=0.00088, # $0.00088 per 1000 tokens
|
|
419
|
-
completion_tokens_cost=0.00088 # $0.00088 per 1000 tokens
|
|
420
|
-
),
|
|
421
|
-
MetaModels.LLAMA_3_70B_INSTRUCT_REFERENCE: ModelPricing(
|
|
422
|
-
prompt_tokens_cost=0.00088, # $0.00088 per 1000 tokens
|
|
423
|
-
completion_tokens_cost=0.00088 # $0.00088 per 1000 tokens
|
|
424
|
-
),
|
|
425
|
-
MetaModels.LLAMA_3_8B_INSTRUCT_LITE: ModelPricing(
|
|
426
|
-
prompt_tokens_cost=0.0001, # $0.0001 per 1000 tokens
|
|
427
|
-
completion_tokens_cost=0.0001 # $0.0001 per 1000 tokens
|
|
428
|
-
),
|
|
429
|
-
MetaModels.LLAMA_2: ModelPricing(
|
|
430
|
-
prompt_tokens_cost=0.0009, # $0.0009 per 1000 tokens
|
|
431
|
-
completion_tokens_cost=0.0009 # $0.0009 per 1000 tokens
|
|
432
|
-
),
|
|
433
|
-
MetaModels.LLAMA_GUARD_4_12B: ModelPricing(
|
|
434
|
-
prompt_tokens_cost=0.0002, # $0.0002 per 1000 tokens
|
|
435
|
-
completion_tokens_cost=0.0002 # $0.0002 per 1000 tokens
|
|
436
|
-
),
|
|
437
|
-
MetaModels.LLAMA_GUARD_3_11B_VISION_TURBO: ModelPricing(
|
|
438
|
-
prompt_tokens_cost=0.00018, # $0.00018 per 1000 tokens
|
|
439
|
-
completion_tokens_cost=0.00018 # $0.00018 per 1000 tokens
|
|
440
|
-
),
|
|
441
|
-
MetaModels.LLAMA_GUARD_3_8B: ModelPricing(
|
|
442
|
-
prompt_tokens_cost=0.0002, # $0.0002 per 1000 tokens
|
|
443
|
-
completion_tokens_cost=0.0002 # $0.0002 per 1000 tokens
|
|
444
|
-
),
|
|
445
|
-
MetaModels.LLAMA_GUARD_2_8B: ModelPricing(
|
|
446
|
-
prompt_tokens_cost=0.0002, # $0.0002 per 1000 tokens
|
|
447
|
-
completion_tokens_cost=0.0002 # $0.0002 per 1000 tokens
|
|
448
|
-
),
|
|
449
|
-
MetaModels.SALESFORCE_LLAMA_RANK_V1_8B: ModelPricing(
|
|
450
|
-
prompt_tokens_cost=0.0001, # $0.0001 per 1000 tokens
|
|
451
|
-
completion_tokens_cost=0.0001 # $0.0001 per 1000 tokens
|
|
452
|
-
),
|
|
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]
|
|
453
84
|
|
|
454
|
-
# AWS Models (pricing per 1000 tokens)
|
|
455
|
-
AWSModels.AMAZON_NOVA_MICRO: ModelPricing(
|
|
456
|
-
prompt_tokens_cost=0.035, # $0.035 per 1000 tokens
|
|
457
|
-
completion_tokens_cost=0.14 # $0.14 per 1000 tokens
|
|
458
|
-
),
|
|
459
|
-
AWSModels.AMAZON_NOVA_LITE: ModelPricing(
|
|
460
|
-
prompt_tokens_cost=0.06, # $0.06 per 1000 tokens
|
|
461
|
-
completion_tokens_cost=0.24 # $0.24 per 1000 tokens
|
|
462
|
-
),
|
|
463
|
-
AWSModels.AMAZON_NOVA_PRO: ModelPricing(
|
|
464
|
-
prompt_tokens_cost=0.8, # $0.8 per 1000 tokens
|
|
465
|
-
completion_tokens_cost=3.2 # $3.2 per 1000 tokens
|
|
466
|
-
),
|
|
467
85
|
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
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
|
|
485
103
|
|
|
486
|
-
# Cohere Models (pricing per 1000 tokens)
|
|
487
|
-
CohereModels.COMMAND_R7B: ModelPricing(
|
|
488
|
-
prompt_tokens_cost=0.0000375, # $0.0000375 per 1000 tokens
|
|
489
|
-
completion_tokens_cost=0.00015 # $0.00015 per 1000 tokens
|
|
490
|
-
),
|
|
491
|
-
CohereModels.COMMAND_R: ModelPricing(
|
|
492
|
-
prompt_tokens_cost=0.00015, # $0.00015 per 1000 tokens
|
|
493
|
-
completion_tokens_cost=0.0006 # $0.0006 per 1000 tokens
|
|
494
|
-
),
|
|
495
|
-
CohereModels.COMMAND_R_PLUS: ModelPricing(
|
|
496
|
-
prompt_tokens_cost=0.00250, # $0.00250 per 1000 tokens
|
|
497
|
-
completion_tokens_cost=0.01 # $0.01 per 1000 tokens
|
|
498
|
-
),
|
|
499
|
-
CohereModels.COMMAND_A: ModelPricing(
|
|
500
|
-
prompt_tokens_cost=0.001, # $0.001 per 1000 tokens
|
|
501
|
-
completion_tokens_cost=0.002 # $0.002 per 1000 tokens
|
|
502
|
-
),
|
|
503
|
-
CohereModels.AYA_EXPANSE_8B_32B: ModelPricing(
|
|
504
|
-
prompt_tokens_cost=0.00050, # $0.00050 per 1000 tokens
|
|
505
|
-
completion_tokens_cost=0.00150 # $0.00150 per 1000 tokens
|
|
506
|
-
),
|
|
507
104
|
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
prompt_tokens_cost=0.001485, # $0.001485 per 1000 tokens
|
|
523
|
-
completion_tokens_cost=0.00594 # $0.00594 per 1000 tokens
|
|
524
|
-
),
|
|
525
|
-
DeepSeekModels.DEEPSEEK_V3_2_EXP: ModelPricing(
|
|
526
|
-
prompt_tokens_cost=0.000028, # $0.000028 per 1000 tokens
|
|
527
|
-
completion_tokens_cost=0.00042 # $0.00042 per 1000 tokens
|
|
528
|
-
),
|
|
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
|
|
529
119
|
|
|
530
|
-
# Moonshot AI / Kimi Models (pricing per 1000 tokens)
|
|
531
|
-
MoonshotAIModels.KIMI_K2_INSTRUCT_0905: ModelPricing(
|
|
532
|
-
prompt_tokens_cost=0.001, # $0.001 per 1000 tokens
|
|
533
|
-
cached_tokens_cost=0.0005, # $0.0005 per 1000 tokens (as specified)
|
|
534
|
-
completion_tokens_cost=0.003 # $0.003 per 1000 tokens
|
|
535
|
-
),
|
|
536
|
-
MoonshotAIModels.KIMI_K2_0905_1T_256K: ModelPricing(
|
|
537
|
-
prompt_tokens_cost=0.001, # $0.001 per 1000 tokens
|
|
538
|
-
# cached_tokens_cost not specified - model doesn't support cached tokens
|
|
539
|
-
completion_tokens_cost=0.003 # $0.003 per 1000 tokens
|
|
540
|
-
),
|
|
541
|
-
}
|