-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbyok-pricing-guide.html
More file actions
178 lines (178 loc) · 131 KB
/
byok-pricing-guide.html
File metadata and controls
178 lines (178 loc) · 131 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
<!DOCTYPE html><html lang="en" class="dark">
<!-- Mirrored from guide.gpt-trainer.com/byok-pricing-guide by HTTrack Website Copier/3.x [XR&CO'2014], Tue, 07 Jan 2025 14:53:24 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8" /><!-- /Added by HTTrack -->
<head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><link rel="apple-touch-icon" type="image/png" sizes="180x180" href="../mintlify.s3-us-west-1.amazonaws.com/paladinmaxinc/_generated/favicon/apple-touch-icon30f4.png?v=3"/><link rel="icon" type="image/png" sizes="32x32" href="../mintlify.s3-us-west-1.amazonaws.com/paladinmaxinc/_generated/favicon/favicon-32x3230f4.png?v=3"/><link rel="icon" type="image/png" sizes="16x16" href="../mintlify.s3-us-west-1.amazonaws.com/paladinmaxinc/_generated/favicon/favicon-16x1630f4.png?v=3"/><link rel="shortcut icon" type="image/x-icon" href="https://mintlify.s3-us-west-1.amazonaws.com/paladinmaxinc/_generated/favicon/favicon.ico?v=3"/><meta name="msapplication-config" content="https://mintlify.s3-us-west-1.amazonaws.com/paladinmaxinc/_generated/favicon/browserconfig.xml?v=3"/><meta name="apple-mobile-web-app-title" content="GPT-trainer API"/><meta name="application-name" content="GPT-trainer API"/><meta name="msapplication-TileColor" content="#2E3F51"/><meta name="theme-color" content="#ffffff"/><link rel="sitemap" type="application/xml" href="sitemap.xml"/><meta name="charset" content="utf-8"/><meta name="og:type" content="website"/><meta name="og:site_name" content="GPT-trainer API"/><meta name="twitter:card" content="summary_large_image"/><meta name="og:title" content="Bring Your Own Key (BYOK) and Pricing - GPT-trainer API"/><meta name="twitter:title" content="Bring Your Own Key (BYOK) and Pricing - GPT-trainer API"/><meta name="og:image" content="https://mintlify.com/docs/api/og?division=Documentation&title=Bring+Your+Own+Key+%28BYOK%29+and+Pricing&logoLight=https%3A%2F%2Fmintlify.s3.us-west-1.amazonaws.com%2Fpaladinmaxinc%2Flogo%2Flight.svg&logoDark=https%3A%2F%2Fmintlify.s3.us-west-1.amazonaws.com%2Fpaladinmaxinc%2Flogo%2Fdark.svg&primaryColor=%232E3F51&lightColor=%23516F90&darkColor=%230D001D"/><meta name="twitter:image" content="https://mintlify.com/docs/api/og?division=Documentation&title=Bring+Your+Own+Key+%28BYOK%29+and+Pricing&logoLight=https%3A%2F%2Fmintlify.s3.us-west-1.amazonaws.com%2Fpaladinmaxinc%2Flogo%2Flight.svg&logoDark=https%3A%2F%2Fmintlify.s3.us-west-1.amazonaws.com%2Fpaladinmaxinc%2Flogo%2Fdark.svg&primaryColor=%232E3F51&lightColor=%23516F90&darkColor=%230D001D"/><title>Bring Your Own Key (BYOK) and Pricing - GPT-trainer API</title><meta name="og:url" content="/byok-pricing-guide"/><link rel="canonical" href="byok-pricing-guide.html"/><meta name="next-head-count" content="23"/><link rel="stylesheet" href="../cdn.jsdelivr.net/npm/katex%400.16.0/dist/katex.min.css" integrity="sha384-Xi8rHCmBmhbuyyhbI88391ZKP2dmfnOl4rT9ZfRI7mLTdk1wblIUnrIq35nqwEvC" crossorigin="anonymous"/><link rel="preload" href="_next/static/media/a34f9d1faa5f3315-s.p.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font="size-adjust"/><link rel="preload" href="_next/static/media/bb3ef058b751a6ad-s.p.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font="size-adjust"/><script id="mode-toggle" data-nscript="beforeInteractive">
try {
if (localStorage.isDarkMode === 'true') {
document.documentElement.classList.add('dark');
} else if (localStorage.isDarkMode === 'false') {
document.documentElement.classList.remove('dark');
} else if ((true && !('isDarkMode' in localStorage) && window.matchMedia('(prefers-color-scheme: dark)').matches) || false) {
document.documentElement.classList.add('dark');
} else {
document.documentElement.classList.remove('dark');
}
} catch (_) {}
</script><link rel="preload" href="_next/static/css/16035c2adeba2fd7.css" as="style"/><link rel="stylesheet" href="_next/static/css/16035c2adeba2fd7.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="_next/static/chunks/webpack-99a660de06a74703.js" defer=""></script><script src="_next/static/chunks/framework-44a6e5dc2ffde502.js" defer=""></script><script src="_next/static/chunks/main-6f86f9a153903fae.js" defer=""></script><script src="_next/static/chunks/pages/_app-1767ed3009913161.js" defer=""></script><script src="_next/static/chunks/2edb282b-7fa355f49eaeb230.js" defer=""></script><script src="_next/static/chunks/e893f787-54a006ae51267903.js" defer=""></script><script src="_next/static/chunks/086d643d-3aa1cf46914548d9.js" defer=""></script><script src="_next/static/chunks/9097-75a5bfb192203d09.js" defer=""></script><script src="_next/static/chunks/7669-2cdcbf7436d2d1bd.js" defer=""></script><script src="_next/static/chunks/5339-37d37f3a0f878abf.js" defer=""></script><script src="_next/static/chunks/4922-ba19e45713cda605.js" defer=""></script><script src="_next/static/chunks/pages/_sites/%5bsubdomain%5d/%5b%5b...slug%5d%5d-7f2259a5793aeffc.js" defer=""></script><script src="_next/static/pChs_9tFT1YAEINLWWPhQ/_buildManifest.js" defer=""></script><script src="_next/static/pChs_9tFT1YAEINLWWPhQ/_ssgManifest.js" defer=""></script><style id="__jsx-4145347147">:root{--font-inter:'__Inter_e5ab12', '__Inter_Fallback_e5ab12';--font-jetbrains-mono:'__JetBrains_Mono_3c557b', '__JetBrains_Mono_Fallback_3c557b'}</style></head><div id="__next"><main class="jsx-4145347147"><style>:root {
--primary: 46 63 81;
--primary-light: 81 111 144;
--primary-dark: 13 0 29;
--background-light: 255 255 255;
--background-dark: 17 24 39;
--gray-50: 244 244 245;
--gray-100: 239 239 240;
--gray-200: 223 224 224;
--gray-300: 207 207 208;
--gray-400: 159 160 160;
--gray-500: 113 113 114;
--gray-600: 81 81 82;
--gray-700: 63 64 65;
--gray-800: 38 39 39;
--gray-900: 24 24 25;
--gray-950: 11 12 12;
}</style><div class="relative antialiased text-gray-500 dark:text-gray-400"><span class="fixed inset-0 bg-background-light dark:bg-background-dark -z-10"></span><div id="navbar" class="z-30 fixed lg:sticky top-0 w-full"><div id="navbar-transition" class="absolute w-full h-full backdrop-blur flex-none transition-colors duration-500 border-b border-gray-500/5 dark:border-gray-300/[0.06] supports-backdrop-blur:bg-background-light/60 dark:bg-transparent"></div><div class="max-w-8xl mx-auto relative"><div class=""><div class="relative"><div class="flex items-center lg:px-12 h-16 min-w-0 px-4"><div class="h-full relative flex-1 flex items-center gap-x-4 min-w-0 border-b border-gray-500/5 dark:border-gray-300/[0.06] lg:border-none"><div class="flex-1 flex items-center gap-x-4"><a href="index.html"><span class="sr-only">GPT-trainer API<!-- --> home page</span><img class="w-auto h-7 relative object-contain block dark:hidden" src="https://mintlify.s3.us-west-1.amazonaws.com/paladinmaxinc/logo/light.svg" alt="light logo"/><img class="w-auto h-7 relative object-contain hidden dark:block" src="https://mintlify.s3.us-west-1.amazonaws.com/paladinmaxinc/logo/dark.svg" alt="dark logo"/></a><div class="flex items-center gap-x-2"></div></div><div class="hidden lg:block mx-px relative flex-1 bg-white dark:bg-gray-900 pointer-events-auto rounded-xl min-w-0"><button type="button" class="w-full flex items-center text-sm leading-6 rounded-xl py-1.5 pl-3.5 pr-3 shadow-sm text-gray-400 dark:text-white/50 bg-background-light dark:bg-background-dark dark:brightness-[1.1] dark:ring-1 dark:hover:brightness-[1.25] ring-1 ring-gray-400/20 hover:ring-gray-600/25 dark:ring-gray-600/30 dark:hover:ring-gray-500/30 focus:outline-primary justify-between truncate gap-2 min-w-[43px]" id="search-bar-entry"><div class="flex items-center gap-3 min-w-[42px]"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search min-w-4 flex-none text-gray-700 hover:text-gray-800 dark:text-gray-300 hover:dark:text-gray-200"><circle cx="11" cy="11" r="8"></circle><path d="m21 21-4.3-4.3"></path></svg><div class="truncate min-w-0">Search...</div></div></button></div><div class="flex-1 relative hidden lg:flex items-center ml-auto justify-end space-x-4"><nav class="text-sm"><ul class="flex space-x-6 items-center"><li><a href="mailto:hello@gpt-trainer.com" class="whitespace-nowrap font-medium text-gray-600 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" target="_blank">Support</a></li></ul></nav><div class="flex items-center"><button class="group p-2 flex items-center justify-center" aria-label="Toggle dark mode"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" stroke="currentColor" xmlns="http://www.w3.org/2000/svg" class="h-4 w-4 block text-gray-400 dark:hidden group-hover:text-gray-600"><g clip-path="url(#clip0_2880_7340)"><path d="M8 1.11133V2.00022" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M12.8711 3.12891L12.2427 3.75735" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M14.8889 8H14" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M12.8711 12.8711L12.2427 12.2427" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M8 14.8889V14" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M3.12891 12.8711L3.75735 12.2427" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M1.11133 8H2.00022" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M3.12891 3.12891L3.75735 3.75735" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M8.00043 11.7782C10.0868 11.7782 11.7782 10.0868 11.7782 8.00043C11.7782 5.91402 10.0868 4.22266 8.00043 4.22266C5.91402 4.22266 4.22266 5.91402 4.22266 8.00043C4.22266 10.0868 5.91402 11.7782 8.00043 11.7782Z" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></g><defs><clipPath id="clip0_2880_7340"><rect width="16" height="16" fill="white"></rect></clipPath></defs></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon h-4 w-4 hidden dark:block text-gray-500 dark:group-hover:text-gray-300"><path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"></path></svg></button></div></div><div class="flex lg:hidden items-center gap-2"><button type="button" class="text-gray-500 w-8 h-8 flex items-center justify-center hover:text-gray-600 dark:text-gray-400 dark:hover:text-gray-300" id="search-bar-entry-mobile"><span class="sr-only">Search...</span><svg class="h-4 w-4 bg-gray-500 dark:bg-gray-400 hover:bg-gray-600 dark:hover:bg-gray-300" style="-webkit-mask-image:url(https://mintlify.b-cdn.net/v6.6.0/solid/magnifying-glass.svg);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center"></svg></button><button aria-label="More actions" class="h-7 w-5 flex items-center justify-end"><svg class="h-4 w-4 bg-gray-500 dark:bg-gray-400 hover:bg-gray-600 dark:hover:bg-gray-300" style="-webkit-mask-image:url(https://mintlify.b-cdn.net/v6.6.0/solid/ellipsis-vertical.svg);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center"></svg></button></div></div></div><div class="flex items-center h-14 py-4 px-5 lg:hidden"><button type="button" class="text-gray-500 hover:text-gray-600 dark:text-gray-400 dark:hover:text-gray-300"><span class="sr-only">Navigation</span><svg class="h-4" fill="currentColor" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M0 96C0 78.3 14.3 64 32 64H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 128 0 113.7 0 96zM0 256c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32zM448 416c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32z"></path></svg></button><div class="ml-4 flex text-sm leading-6 whitespace-nowrap min-w-0 space-x-3"><div class="flex items-center space-x-3"><span>Guides</span><svg width="3" height="24" viewBox="0 -9 3 24" class="h-5 rotate-0 overflow-visible fill-gray-400"><path d="M0 0L3 3L0 6" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path></svg></div><div class="font-semibold text-gray-900 truncate dark:text-gray-200">Bring Your Own Key (BYOK) and Pricing</div></div></div></div></div></div></div><div class="max-w-8xl px-4 mx-auto lg:px-8 min-h-screen"><div class="z-20 hidden lg:block fixed bottom-0 right-auto w-[18rem] top-[4rem]" id="sidebar"><div class="absolute inset-0 z-10 stable-scrollbar-gutter overflow-auto pr-8 pb-10" id="sidebar-content"><div class="relative lg:text-sm lg:leading-6"><div class="sticky top-0 h-8 bg-gradient-to-b from-background-light dark:from-background-dark"></div><div id="navigation-items"><li class="list-none"><a class="pl-4 group flex items-center lg:text-sm lg:leading-6 mb-5 sm:mb-4 font-semibold text-primary dark:text-primary-light" href="introduction.html"><div style="background:linear-gradient(45deg, #ED727B, #F6B7BB)" class="mr-4 rounded-md p-1"><svg class="h-4 w-4 secondary-opacity group-hover:fill-primary-dark group-hover:bg-white bg-white" style="-webkit-mask-image:url(https://mintlify.b-cdn.net/v6.6.0/duotone/book-open.svg);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center"></svg></div>Documentation</a></li><li class="list-none"><a class="pl-4 group flex items-center lg:text-sm lg:leading-6 mb-5 sm:mb-4 font-medium text-gray-600 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" href="api-reference/api-key-setup.html"><div class="mr-4 rounded-md p-1 zinc-box group-hover:brightness-100 group-hover:ring-0 ring-1 ring-gray-950/5 dark:ring-gray-700/40"><svg class="h-4 w-4 secondary-opacity group-hover:fill-primary-dark group-hover:bg-white bg-gray-400 dark:bg-gray-500" style="-webkit-mask-image:url(https://mintlify.b-cdn.net/v6.6.0/duotone/code.svg);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center"></svg></div>API References</a></li><li class="list-none"><a class="pl-4 group flex items-center lg:text-sm lg:leading-6 mb-5 sm:mb-4 font-medium text-gray-600 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" href="tools/tools-intro.html"><div class="mr-4 rounded-md p-1 zinc-box group-hover:brightness-100 group-hover:ring-0 ring-1 ring-gray-950/5 dark:ring-gray-700/40"><svg class="h-4 w-4 secondary-opacity group-hover:fill-primary-dark group-hover:bg-white bg-gray-400 dark:bg-gray-500" style="-webkit-mask-image:url(https://mintlify.b-cdn.net/v6.6.0/duotone/gear.svg);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center"></svg></div>Tools</a></li><li class="list-none"><a class="pl-4 group flex items-center lg:text-sm lg:leading-6 mb-5 sm:mb-4 font-medium text-gray-600 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" href="whitelabel/whitelabel-intro.html"><div class="mr-4 rounded-md p-1 zinc-box group-hover:brightness-100 group-hover:ring-0 ring-1 ring-gray-950/5 dark:ring-gray-700/40"><svg class="h-4 w-4 secondary-opacity group-hover:fill-primary-dark group-hover:bg-white bg-gray-400 dark:bg-gray-500" style="-webkit-mask-image:url(https://mintlify.b-cdn.net/v6.6.0/duotone/browser.svg);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center"></svg></div>Whitelabel</a></li><div class="mt-12 lg:mt-8"><h5 class="pl-4 mb-3.5 lg:mb-2.5 font-semibold text-gray-900 dark:text-gray-200">Getting Started</h5><ul><li id="/introduction" class="scroll-m-4 first:scroll-m-20"><a class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light space-x-3 rounded-xl hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" href="introduction.html"><div class="flex-1 flex items-center space-x-2.5"><div>Introduction</div></div></a></li></ul></div><div class="mt-12 lg:mt-8"><h5 class="pl-4 mb-3.5 lg:mb-2.5 font-semibold text-gray-900 dark:text-gray-200">Guides</h5><ul><li id="/creating-first-chatbot" class="scroll-m-4 first:scroll-m-20"><a class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light space-x-3 rounded-xl hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" href="creating-first-chatbot.html"><div class="flex-1 flex items-center space-x-2.5"><div>Create Your First Chatbot</div></div></a></li><li id="/lead-collection" class="scroll-m-4 first:scroll-m-20"><a class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light space-x-3 rounded-xl hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" href="lead-collection.html"><div class="flex-1 flex items-center space-x-2.5"><div>Lead Collection</div></div></a></li><li id="/human-support-escalation" class="scroll-m-4 first:scroll-m-20"><a class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light space-x-3 rounded-xl hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" href="human-support-escalation.html"><div class="flex-1 flex items-center space-x-2.5"><div>Human Support Escalation</div></div></a></li><li id="/inbox-notifications" class="scroll-m-4 first:scroll-m-20"><a class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light space-x-3 rounded-xl hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" href="inbox-notifications.html"><div class="flex-1 flex items-center space-x-2.5"><div>Inbox Notifications</div></div></a></li><li id="/conversation-labeling" class="scroll-m-4 first:scroll-m-20"><a class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light space-x-3 rounded-xl hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" href="conversation-labeling.html"><div class="flex-1 flex items-center space-x-2.5"><div>Conversation Labeling</div></div></a></li><li id="/multi-agents-chatbot" class="scroll-m-4 first:scroll-m-20"><a class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light space-x-3 rounded-xl hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" href="multi-agents-chatbot.html"><div class="flex-1 flex items-center space-x-2.5"><div>Multi-Agents Chatbot</div></div></a></li><li id="/fine-tuning-agent-intents" class="scroll-m-4 first:scroll-m-20"><a class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light space-x-3 rounded-xl hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" href="fine-tuning-agent-intents.html"><div class="flex-1 flex items-center space-x-2.5"><div>Fine Tuning Agent Intents</div></div></a></li><li id="/supervisor-overrides" class="scroll-m-4 first:scroll-m-20"><a class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light space-x-3 rounded-xl hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" href="supervisor-overrides.html"><div class="flex-1 flex items-center space-x-2.5"><div>AI Supervisor Overrides</div></div></a></li><li id="/byok-pricing-guide" class="scroll-m-4 first:scroll-m-20"><a class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light space-x-3 rounded-xl bg-primary/10 text-primary font-semibold dark:text-primary-light dark:bg-primary-light/10" style="padding-left:1rem" href="byok-pricing-guide.html"><div class="flex-1 flex items-center space-x-2.5"><div>Bring Your Own Key (BYOK) and Pricing</div></div></a></li><li id="/working-with-tables" class="scroll-m-4 first:scroll-m-20"><a class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light space-x-3 rounded-xl hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" href="working-with-tables.html"><div class="flex-1 flex items-center space-x-2.5"><div>Working with Tables and CSV</div></div></a></li><li id="/best-practices" class="scroll-m-4 first:scroll-m-20"><a class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light space-x-3 rounded-xl hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" href="best-practices.html"><div class="flex-1 flex items-center space-x-2.5"><div>Best practices for preparing training data</div></div></a></li><li id="/help" class="scroll-m-4 first:scroll-m-20"><a class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light space-x-3 rounded-xl hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" href="help.html"><div class="flex-1 flex items-center space-x-2.5"><div>Why does my chatbot not answer correctly?</div></div></a></li></ul></div><div class="mt-12 lg:mt-8"><h5 class="pl-4 mb-3.5 lg:mb-2.5 font-semibold text-gray-900 dark:text-gray-200">Function Calling</h5><ul><li id="/rag-from-external-data-provider" class="scroll-m-4 first:scroll-m-20"><a class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light space-x-3 rounded-xl hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" href="rag-from-external-data-provider.html"><div class="flex-1 flex items-center space-x-2.5"><div>RAG from an External Data Provider</div></div></a></li></ul></div><div class="mt-12 lg:mt-8"><h5 class="pl-4 mb-3.5 lg:mb-2.5 font-semibold text-gray-900 dark:text-gray-200">Authentication Webhook</h5><ul><li id="/user-identity" class="scroll-m-4 first:scroll-m-20"><a class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light space-x-3 rounded-xl hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" href="user-identity.html"><div class="flex-1 flex items-center space-x-2.5"><div>User Identity Verification</div></div></a></li></ul></div></div></div></div></div><div class="" id="content-container"><div class="flex flex-row gap-12 box-border w-full pt-40 lg:pt-10"><div class="relative grow box-border flex-col w-full mx-auto px-1 lg:pl-[23.7rem] lg:-ml-12 xl:w-[calc(100%-28rem)]" id="content-area"><header id="header" class="relative"><div class="mt-0.5 space-y-2.5"><div class="eyebrow h-5 text-primary dark:text-primary-light text-sm font-semibold">Guides</div><div class="flex items-center"><h1 class="inline-block text-2xl sm:text-3xl font-extrabold text-gray-900 tracking-tight dark:text-gray-200">Bring Your Own Key (BYOK) and Pricing</h1></div></div></header><div class="flex flex-col gap-8"><div class="flex flex-col gap-6 xl:hidden [&:not(:empty)]:mt-8"></div></div><div class="relative mt-8 prose prose-gray dark:prose-invert"><p>GPT-trainer operates on a “pay as you go” basis. Rather than having Message Credits (MCs) baked into existing subscriptions, you
buy them separately via add-ons or connect your own AI API keys to enjoy unlimited usage.</p>
<p>If you use your own AI API keys, then after you exhaust all MCs inside your GPT-trainer account, additional AI usage will be charged
against your own API keys.</p>
<h2 class="flex whitespace-pre-wrap group" id="setting-up-byok"><div class="absolute"><a href="#setting-up-byok" class="-ml-10 flex items-center opacity-0 border-0 group-hover:opacity-100" aria-label="Navigate to header"><div class="w-6 h-6 text-gray-400 rounded-md flex items-center justify-center zinc-box bg-white ring-1 ring-gray-400/30 dark:ring-gray-700/25 hover:ring-gray-400/60 dark:hover:ring-white/20"><svg xmlns="http://www.w3.org/2000/svg" fill="gray" height="12px" viewBox="0 0 576 512"><path d="M0 256C0 167.6 71.6 96 160 96h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C98.1 144 48 194.1 48 256s50.1 112 112 112h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C71.6 416 0 344.4 0 256zm576 0c0 88.4-71.6 160-160 160H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c61.9 0 112-50.1 112-112s-50.1-112-112-112H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c88.4 0 160 71.6 160 160zM184 232H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24z"></path></svg></div></a></div><span class="cursor-pointer">Setting up BYOK</span></h2>
<p>To set up your own API key, you will first need to register on the AI provider’s website. GPT-trainer currently
supports large language models (LLMs) from OpenAI, Anthropic, and Google. In the future, we plan to expand our list of supported
models, potentially incorporating open-source and fine-tuned ones.</p>
<h3 class="flex whitespace-pre-wrap group" id="provider-specific-instructions"><div class="absolute"><a href="#provider-specific-instructions" class="-ml-10 flex items-center opacity-0 border-0 group-hover:opacity-100" aria-label="Navigate to header"><div class="w-6 h-6 text-gray-400 rounded-md flex items-center justify-center zinc-box bg-white ring-1 ring-gray-400/30 dark:ring-gray-700/25 hover:ring-gray-400/60 dark:hover:ring-white/20"><svg xmlns="http://www.w3.org/2000/svg" fill="gray" height="12px" viewBox="0 0 576 512"><path d="M0 256C0 167.6 71.6 96 160 96h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C98.1 144 48 194.1 48 256s50.1 112 112 112h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C71.6 416 0 344.4 0 256zm576 0c0 88.4-71.6 160-160 160H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c61.9 0 112-50.1 112-112s-50.1-112-112-112H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c88.4 0 160 71.6 160 160zM184 232H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24z"></path></svg></div></a></div><span class="cursor-pointer">Provider-specific instructions</span></h3>
<ul>
<li>
<p>OpenAI (GPT models)- <a href="https://platform.openai.com/account/api-keys" target="_blank" rel="noreferrer">https://platform.openai.com/account/api-keys</a></p>
</li>
<li>
<p>Anthropic (Claude models) - <a href="https://console.anthropic.com/settings/keys" target="_blank" rel="noreferrer">https://console.anthropic.com/settings/keys</a></p>
</li>
<li>
<p>Google (Gemini models) - <a href="https://ai.google.dev/gemini-api/docs/api-key" target="_blank" rel="noreferrer">https://ai.google.dev/gemini-api/docs/api-key</a></p>
</li>
</ul>
<p>After you obtain your API key, store it in a <strong>private and secure</strong> location. GPT-trainer recommends that you use a separate API
key for each of your BYOK applications (including GPT-trainer), and to never share your API key with anyone else.</p>
<p>Next, log in to GPT-trainer and go to the top right corner of the UI. Click the “Profile” icon the bring up a dropdown menu.</p>
<div><div class="p-2 not-prose relative bg-gray-50/50 rounded-2xl overflow-hidden dark:bg-gray-800/25"><div style="background-position:10px 10px" class="absolute inset-0 bg-grid-neutral-200/20 [mask-image:linear-gradient(0deg,#fff,rgba(255,255,255,0.6))] dark:bg-grid-white/5 dark:[mask-image:linear-gradient(0deg,rgba(255,255,255,0.1),rgba(255,255,255,0.5))]"></div><div class="relative rounded-xl overflow-hidden flex justify-center"></div><div class="absolute inset-0 pointer-events-none border border-black/5 rounded-2xl dark:border-white/5"></div></div></div>
<p>Then, click “Account”. In the <strong>“AI API Key”</strong> section, pick your AI provider and paste your API key. Then click “Add”.
Please note that this is <strong>not</strong> the “GPT-trainer API keys” section which is used to generate GPT-trainer API keys.</p>
<div><div class="p-2 not-prose relative bg-gray-50/50 rounded-2xl overflow-hidden dark:bg-gray-800/25"><div style="background-position:10px 10px" class="absolute inset-0 bg-grid-neutral-200/20 [mask-image:linear-gradient(0deg,#fff,rgba(255,255,255,0.6))] dark:bg-grid-white/5 dark:[mask-image:linear-gradient(0deg,rgba(255,255,255,0.1),rgba(255,255,255,0.5))]"></div><div class="relative rounded-xl overflow-hidden flex justify-center"></div><div class="absolute inset-0 pointer-events-none border border-black/5 rounded-2xl dark:border-white/5"></div></div></div>
<p>You should be all set.</p>
<div class="my-4 px-5 py-4 overflow-hidden rounded-2xl flex gap-3 border border-sky-500/20 bg-sky-50/50 dark:border-sky-500/30 dark:bg-sky-500/10"><div class="mt-0.5 w-4"><svg width="14" height="14" viewBox="0 0 14 14" fill="currentColor" xmlns="http://www.w3.org/2000/svg" class="w-4 h-4 text-sky-500" aria-label="Note"><path fill-rule="evenodd" clip-rule="evenodd" d="M7 1.3C10.14 1.3 12.7 3.86 12.7 7C12.7 10.14 10.14 12.7 7 12.7C5.48908 12.6974 4.0408 12.096 2.97241 11.0276C1.90403 9.9592 1.30264 8.51092 1.3 7C1.3 3.86 3.86 1.3 7 1.3ZM7 0C3.14 0 0 3.14 0 7C0 10.86 3.14 14 7 14C10.86 14 14 10.86 14 7C14 3.14 10.86 0 7 0ZM8 3H6V8H8V3ZM8 9H6V11H8V9Z"></path></svg></div><div class="text-sm prose min-w-0 text-sky-900 dark:text-sky-200"><p>If this is the first time you create an API key with a provider, there is a
good chance that your key may be rate and feature limited. For example, as of
November 1, 2024, all new API keys registered with new OpenAI accounts are
prohibited from running GPT-4o model series. To lift this restriction, you may
need to add $5 credt and provide verified billing information within your
OpenAI account. Different providers may have different policies regarding
account verification.</p></div></div>
<h2 class="flex whitespace-pre-wrap group" id="budgeting-for-ai-usage"><div class="absolute"><a href="#budgeting-for-ai-usage" class="-ml-10 flex items-center opacity-0 border-0 group-hover:opacity-100" aria-label="Navigate to header"><div class="w-6 h-6 text-gray-400 rounded-md flex items-center justify-center zinc-box bg-white ring-1 ring-gray-400/30 dark:ring-gray-700/25 hover:ring-gray-400/60 dark:hover:ring-white/20"><svg xmlns="http://www.w3.org/2000/svg" fill="gray" height="12px" viewBox="0 0 576 512"><path d="M0 256C0 167.6 71.6 96 160 96h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C98.1 144 48 194.1 48 256s50.1 112 112 112h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C71.6 416 0 344.4 0 256zm576 0c0 88.4-71.6 160-160 160H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c61.9 0 112-50.1 112-112s-50.1-112-112-112H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c88.4 0 160 71.6 160 160zM184 232H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24z"></path></svg></div></a></div><span class="cursor-pointer">Budgeting for AI usage</span></h2>
<p>In general, using your own API key will be more cost efficient than purchasing MC add-ons directly. To help you estimate costs
associated with running your BYOK account, we provide the following references.</p>
<div class="my-4 px-5 py-4 overflow-hidden rounded-2xl flex gap-3 border border-sky-500/20 bg-sky-50/50 dark:border-sky-500/30 dark:bg-sky-500/10"><div class="mt-0.5 w-4"><svg width="14" height="14" viewBox="0 0 14 14" fill="currentColor" xmlns="http://www.w3.org/2000/svg" class="w-4 h-4 text-sky-500" aria-label="Note"><path fill-rule="evenodd" clip-rule="evenodd" d="M7 1.3C10.14 1.3 12.7 3.86 12.7 7C12.7 10.14 10.14 12.7 7 12.7C5.48908 12.6974 4.0408 12.096 2.97241 11.0276C1.90403 9.9592 1.30264 8.51092 1.3 7C1.3 3.86 3.86 1.3 7 1.3ZM7 0C3.14 0 0 3.14 0 7C0 10.86 3.14 14 7 14C10.86 14 14 10.86 14 7C14 3.14 10.86 0 7 0ZM8 3H6V8H8V3ZM8 9H6V11H8V9Z"></path></svg></div><div class="text-sm prose min-w-0 text-sky-900 dark:text-sky-200"><p>LLM providers change their pricing from time to time, so the information we
provide may not always be up-to-date. For latest information on pricing,
please visit:</p><ul>
<li>OpenAI (GPT models): <a href="https://openai.com/pricing" target="_blank" rel="noreferrer">https://openai.com/pricing</a></li>
<li>Anthropic (Claude models): <a href="https://www.anthropic.com/pricing#anthropic-api" target="_blank" rel="noreferrer">https://www.anthropic.com/pricing#anthropic-api</a></li>
<li>Google (Gemini models): <a href="https://ai.google.dev/pricing#1%5C_5flash" target="_blank" rel="noreferrer">https://ai.google.dev/pricing#1\_5flash</a></li>
</ul></div></div>
<p>The simplest estimate you can use is this:</p>
<ul>
<li>Each Message Credit costs ~$0.0032 USD</li>
</ul>
<p>For example, GPT-4-1106-4k uses 20 MCs per query. To estimate the cost in USD, multiply <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0.0032</mn><mstyle mathcolor="#cc0000"><mtext>\*</mtext></mstyle><mn>20</mn><mo>=</mo></mrow><annotation encoding="application/x-tex">0.0032 \* 20 = </annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em"></span><span class="mord">0.0032</span><span class="mord text" style="color:#cc0000"><span class="mord" style="color:#cc0000">\*</span></span><span class="mord">20</span><span class="mspace" style="margin-right:0.2778em"></span><span class="mrel">=</span></span></span></span>0.064 USD.</p>
<p>This is a very rough estimate. Actual spend may be around +/- 20% of the estimated number. This is because LLM usage is measured
based on “tokens”, and input vs. output tokens cost different amounts even for the same LLM. To understand tokens, we
refer you to this article: <a href="https://help.openai.com/en/articles/4936856-what-are-tokens-and-how-to-count-them." target="_blank" rel="noreferrer">https://help.openai.com/en/articles/4936856-what-are-tokens-and-how-to-count-them.</a></p>
<p>There are many parts to a LLM query. At a high level, they can be broken down into:</p>
<p>Input:</p>
<ul>
<li>
<p>System prompt and metadata</p>
</li>
<li>
<p>User-defined base prompt</p>
</li>
<li>
<p>Variables and definitions</p>
</li>
<li>
<p>Conversation label definitions</p>
</li>
<li>
<p>Function metadata and descriptions</p>
</li>
<li>
<p>Function parameters</p>
</li>
<li>
<p>Function response</p>
</li>
<li>
<p>Static RAG context</p>
</li>
<li>
<p>Conversation memory</p>
</li>
</ul>
<p>Output:</p>
<ul>
<li>
<p>Text response</p>
</li>
<li>
<p>Response metadata</p>
</li>
</ul>
<h3 class="flex whitespace-pre-wrap group" id="openai-pricing-breakdown"><div class="absolute"><a href="#openai-pricing-breakdown" class="-ml-10 flex items-center opacity-0 border-0 group-hover:opacity-100" aria-label="Navigate to header"><div class="w-6 h-6 text-gray-400 rounded-md flex items-center justify-center zinc-box bg-white ring-1 ring-gray-400/30 dark:ring-gray-700/25 hover:ring-gray-400/60 dark:hover:ring-white/20"><svg xmlns="http://www.w3.org/2000/svg" fill="gray" height="12px" viewBox="0 0 576 512"><path d="M0 256C0 167.6 71.6 96 160 96h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C98.1 144 48 194.1 48 256s50.1 112 112 112h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C71.6 416 0 344.4 0 256zm576 0c0 88.4-71.6 160-160 160H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c61.9 0 112-50.1 112-112s-50.1-112-112-112H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c88.4 0 160 71.6 160 160zM184 232H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24z"></path></svg></div></a></div><span class="cursor-pointer">OpenAI pricing breakdown</span></h3>
<p>GPT-trainer supports a variety of OpenAI LLMs, as well as different versions of the same LLM with custom token limit cutoffs.
To help you budget for your usage, we provide a summary based on our <strong>default</strong> split of reserved input vs. output tokens. Please refer
to the following table (all $ are in USD). Please note that this generally represents an upper limit since not all input / output tokens
in the reservation window are used every single LLM query.</p>
<table><thead><tr><th>Model</th><th>Reserved for Input</th><th>Reserved for Output</th><th>Cost / Input Token</th><th>Cost / Output Token</th><th>Total Cost per Query</th></tr></thead><tbody><tr><td>GPT-3.5</td><td>2800</td><td>1200</td><td>0.0000005</td><td>0.0000015</td><td>0.0032</td></tr><tr><td>GPT-3.5-16k</td><td>13600</td><td>2400</td><td>0.0000005</td><td>0.0000015</td><td>0.0104</td></tr><tr><td>GPT-4o-mini-1k</td><td>800</td><td>200</td><td>0.00000015</td><td>0.0000006</td><td>0.00024</td></tr><tr><td>GPT-4o-mini-2k</td><td>1600</td><td>400</td><td>0.00000015</td><td>0.0000006</td><td>0.00048</td></tr><tr><td>GPT-4o-mini-4k</td><td>2800</td><td>1200</td><td>0.00000015</td><td>0.0000006</td><td>0.00114</td></tr><tr><td>GPT-4o-mini-8k</td><td>5600</td><td>2400</td><td>0.00000015</td><td>0.0000006</td><td>0.00228</td></tr><tr><td>GPT-4o-mini-16k</td><td>12800</td><td>3200</td><td>0.00000015</td><td>0.0000006</td><td>0.00384</td></tr><tr><td>GPT-4o-mini-32k</td><td>28000</td><td>4000</td><td>0.00000015</td><td>0.0000006</td><td>0.0066</td></tr><tr><td>GPT-4o-mini-64k</td><td>60000</td><td>4000</td><td>0.00000015</td><td>0.0000006</td><td>0.0114</td></tr><tr><td>GPT-4o-1k</td><td>800</td><td>200</td><td>0.0000025</td><td>0.00001</td><td>0.004</td></tr><tr><td>GPT-4o-2k</td><td>1600</td><td>400</td><td>0.0000025</td><td>0.00001</td><td>0.008</td></tr><tr><td>GPT-4o-4k</td><td>2800</td><td>1200</td><td>0.0000025</td><td>0.00001</td><td>0.019</td></tr><tr><td>GPT-4o-8k</td><td>5600</td><td>2400</td><td>0.0000025</td><td>0.00001</td><td>0.038</td></tr><tr><td>GPT-4o-16k</td><td>12800</td><td>3200</td><td>0.0000025</td><td>0.00001</td><td>0.064</td></tr><tr><td>GPT-4o-32k</td><td>28000</td><td>4000</td><td>0.0000025</td><td>0.00001</td><td>0.11</td></tr><tr><td>GPT-4o-64k</td><td>60000</td><td>4000</td><td>0.0000025</td><td>0.00001</td><td>0.19</td></tr><tr><td>GPT-4-1106-1k</td><td>800</td><td>200</td><td>0.00001</td><td>0.00003</td><td>0.014</td></tr><tr><td>GPT-4-1106-2k</td><td>1600</td><td>400</td><td>0.00001</td><td>0.00003</td><td>0.028</td></tr><tr><td>GPT-4-1106-4k</td><td>2800</td><td>1200</td><td>0.00001</td><td>0.00003</td><td>0.064</td></tr><tr><td>GPT-4-0125-8k</td><td>5600</td><td>2400</td><td>0.00001</td><td>0.00003</td><td>0.128</td></tr><tr><td>GPT-4-1106-16k</td><td>12800</td><td>3200</td><td>0.00001</td><td>0.00003</td><td>0.224</td></tr><tr><td>GPT-4-1106-32k</td><td>28000</td><td>4000</td><td>0.00001</td><td>0.00003</td><td>0.4</td></tr><tr><td>GPT-4-1106-64k</td><td>60000</td><td>4000</td><td>0.00001</td><td>0.00003</td><td>0.72</td></tr></tbody></table>
<h2 class="flex whitespace-pre-wrap group" id="byok-for-white-label-commercial-partners"><div class="absolute"><a href="#byok-for-white-label-commercial-partners" class="-ml-10 flex items-center opacity-0 border-0 group-hover:opacity-100" aria-label="Navigate to header"><div class="w-6 h-6 text-gray-400 rounded-md flex items-center justify-center zinc-box bg-white ring-1 ring-gray-400/30 dark:ring-gray-700/25 hover:ring-gray-400/60 dark:hover:ring-white/20"><svg xmlns="http://www.w3.org/2000/svg" fill="gray" height="12px" viewBox="0 0 576 512"><path d="M0 256C0 167.6 71.6 96 160 96h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C98.1 144 48 194.1 48 256s50.1 112 112 112h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C71.6 416 0 344.4 0 256zm576 0c0 88.4-71.6 160-160 160H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c61.9 0 112-50.1 112-112s-50.1-112-112-112H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c88.4 0 160 71.6 160 160zM184 232H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24z"></path></svg></div></a></div><span class="cursor-pointer">BYOK for white-label commercial partners</span></h2>
<p>In addition to the costs for MC expenditures during LLM queries, you also need to pay to run our AI multi-agent framework using your
own API key. This is independent of whether your users have supplied their API key for their personal accounts. Since the official GPT-trainer
subsidizes its users for all costs associated with running the AI framework, your white-label solution must operate with this premise
as well.</p>
<p>There are three separate workflows that require your own API key to cover your user’s AI expenditures. The conditions under which they apply
are listed below.</p>
<ol>
<li>AI Agent intent generation</li>
</ol>
<ul>
<li>
<p>Applicable if two or more AI Agents are connected</p>
</li>
<li>
<p>Charged whenever a new user-facing AI Agent goes live or an existing one is edited</p>
</li>
</ul>
<ol>
<li>Query intent classification</li>
</ol>
<ul>
<li>
<p>Applicable if two or more user-facing Agents are connected</p>
</li>
<li>
<p>Charged on a per query basis</p>
</li>
</ul>
<ol>
<li>Variable extraction</li>
</ol>
<ul>
<li>
<p>Applicable if AI Agent has one or more variables set up</p>
</li>
<li>
<p>Charged on a per query basis</p>
</li>
</ul>
<p>The estimated costs associated with each workflow is as follows:</p>
<table><thead><tr><th>Workflow</th><th>Average Estimated Input</th><th>Average Estimated Output</th><th>Cost / Input Token</th><th>Cost / Output Token</th><th>Estimated Cost per Run</th></tr></thead><tbody><tr><td>AI Agent intent generation (gpt-4-1106-preview)</td><td>600</td><td>450</td><td>0.00001</td><td>0.00003</td><td>0.0011</td></tr><tr><td>Query intent classification (gpt-3.5-turbo-1106)</td><td>1000</td><td>50</td><td>0.000001</td><td>0.000002</td><td>0.0195</td></tr><tr><td>Variables extraction (gpt-3.5-turbo-1106)</td><td>1000</td><td>100</td><td>0.000001</td><td>0.000002</td><td>0.0012</td></tr></tbody></table>
<p>All costs from the above workflow will be charged directly against your own API key. This cost cannot be transferred onto your clients.</p>
<p>There may be more AI features in the future that require using your own API key. We will update the documentation as needed to help you plan ahead.
However, in general, these extra API costs should be fairly negligible in comparison to AI costs associated with Message Credit expenditures.</p></div><div class="leading-6 mt-14"><div class="mb-12 px-0.5 flex items-center text-sm font-semibold text-gray-700 dark:text-gray-200"><a class="flex items-center space-x-3 group" href="supervisor-overrides.html"><svg viewBox="0 0 3 6" class="h-1.5 stroke-gray-400 overflow-visible group-hover:stroke-gray-600 dark:group-hover:stroke-gray-300"><path d="M3 0L0 3L3 6" fill="none" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="group-hover:text-gray-900 dark:group-hover:text-white">AI Supervisor Overrides</span></a><a class="flex items-center ml-auto space-x-3 group" href="working-with-tables.html"><span class="group-hover:text-gray-900 dark:group-hover:text-white">Working with Tables and CSV</span><svg viewBox="0 0 3 6" class="rotate-180 h-1.5 stroke-gray-400 overflow-visible group-hover:stroke-gray-600 dark:group-hover:stroke-gray-300"><path d="M3 0L0 3L3 6" fill="none" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg></a></div><footer id="footer" class="flex gap-12 justify-between pt-10 border-t border-gray-100 sm:flex dark:border-gray-800/50 pb-28"><div class="flex items-center justify-between"><div class="sm:flex"><a href="https://mintlify.com/preview-request?utm_campaign=poweredBy&utm_medium=docs&utm_source=guide.gpt-trainer.com" target="_blank" rel="noreferrer" class="text-sm text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-300">Powered by Mintlify</a></div></div></footer></div></div><div class="z-10 hidden xl:flex pl-10 box-border w-[19rem]" id="table-of-contents"><div id="table-of-contents-content" class="fixed text-gray-600 text-sm leading-6 w-[16.5rem] overflow-y-auto space-y-2 h-[calc(100%-7rem)]"><div class="text-gray-700 dark:text-gray-300 font-medium flex items-center space-x-2"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" xmlns="http://www.w3.org/2000/svg" class="h-3 w-3"><path d="M2.44434 12.6665H13.5554" stroke-linecap="round" stroke-linejoin="round"></path><path d="M2.44434 3.3335H13.5554" stroke-linecap="round" stroke-linejoin="round"></path><path d="M2.44434 8H7.33323" stroke-linecap="round" stroke-linejoin="round"></path></svg><span>On this page</span></div><ul><li><a href="#setting-up-byok" class="py-1 block font-medium hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300">Setting up BYOK</a></li><li style="margin-left:1rem"><a href="#provider-specific-instructions" class="group flex items-start py-1 whitespace-pre-wrap text-gray-500 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300">Provider-specific instructions</a></li><li><a href="#budgeting-for-ai-usage" class="py-1 block font-medium hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300">Budgeting for AI usage</a></li><li style="margin-left:1rem"><a href="#openai-pricing-breakdown" class="group flex items-start py-1 whitespace-pre-wrap text-gray-500 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300">OpenAI pricing breakdown</a></li><li><a href="#byok-for-white-label-commercial-partners" class="py-1 block font-medium hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300">BYOK for white-label commercial partners</a></li></ul></div></div></div></div></div></div></main></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"mdxSource":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n a: \"a\",\n annotation: \"annotation\",\n li: \"li\",\n math: \"math\",\n mn: \"mn\",\n mo: \"mo\",\n mrow: \"mrow\",\n mstyle: \"mstyle\",\n mtext: \"mtext\",\n ol: \"ol\",\n p: \"p\",\n semantics: \"semantics\",\n span: \"span\",\n strong: \"strong\",\n table: \"table\",\n tbody: \"tbody\",\n td: \"td\",\n th: \"th\",\n thead: \"thead\",\n tr: \"tr\",\n ul: \"ul\",\n ..._provideComponents(),\n ...props.components\n }, {Frame, Heading, Note, ZoomImage} = _components;\n if (!Frame) _missingMdxReference(\"Frame\", true);\n if (!Heading) _missingMdxReference(\"Heading\", true);\n if (!Note) _missingMdxReference(\"Note\", true);\n if (!ZoomImage) _missingMdxReference(\"ZoomImage\", true);\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"GPT-trainer operates on a “pay as you go” basis. Rather than having Message Credits (MCs) baked into existing subscriptions, you\\nbuy them separately via add-ons or connect your own AI API keys to enjoy unlimited usage.\"\n }), \"\\n\", _jsx(_components.p, {\n children: \"If you use your own AI API keys, then after you exhaust all MCs inside your GPT-trainer account, additional AI usage will be charged\\nagainst your own API keys.\"\n }), \"\\n\", _jsx(Heading, {\n level: \"2\",\n id: \"setting-up-byok\",\n children: \"Setting up BYOK\"\n }), \"\\n\", _jsx(_components.p, {\n children: \"To set up your own API key, you will first need to register on the AI provider’s website. GPT-trainer currently\\nsupports large language models (LLMs) from OpenAI, Anthropic, and Google. In the future, we plan to expand our list of supported\\nmodels, potentially incorporating open-source and fine-tuned ones.\"\n }), \"\\n\", _jsx(Heading, {\n level: \"3\",\n id: \"provider-specific-instructions\",\n children: \"Provider-specific instructions\"\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [\"OpenAI (GPT models)- \", _jsx(_components.a, {\n href: \"https://platform.openai.com/account/api-keys\",\n children: \"https://platform.openai.com/account/api-keys\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [\"Anthropic (Claude models) - \", _jsx(_components.a, {\n href: \"https://console.anthropic.com/settings/keys\",\n children: \"https://console.anthropic.com/settings/keys\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [\"Google (Gemini models) - \", _jsx(_components.a, {\n href: \"https://ai.google.dev/gemini-api/docs/api-key\",\n children: \"https://ai.google.dev/gemini-api/docs/api-key\"\n })]\n }), \"\\n\"]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"After you obtain your API key, store it in a \", _jsx(_components.strong, {\n children: \"private and secure\"\n }), \" location. GPT-trainer recommends that you use a separate API\\nkey for each of your BYOK applications (including GPT-trainer), and to never share your API key with anyone else.\"]\n }), \"\\n\", _jsx(_components.p, {\n children: \"Next, log in to GPT-trainer and go to the top right corner of the UI. Click the “Profile” icon the bring up a dropdown menu.\"\n }), \"\\n\", _jsx(Frame, {\n children: _jsx(ZoomImage, {\n children: _jsx(\"img\", {\n src: \"https://mintlify.s3.us-west-1.amazonaws.com/paladinmaxinc/images/byok-pricing-guide-1.png\"\n })\n })\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Then, click “Account”. In the \", _jsx(_components.strong, {\n children: \"“AI API Key”\"\n }), \" section, pick your AI provider and paste your API key. Then click “Add”.\\nPlease note that this is \", _jsx(_components.strong, {\n children: \"not\"\n }), \" the “GPT-trainer API keys” section which is used to generate GPT-trainer API keys.\"]\n }), \"\\n\", _jsx(Frame, {\n children: _jsx(ZoomImage, {\n children: _jsx(\"img\", {\n src: \"https://mintlify.s3.us-west-1.amazonaws.com/paladinmaxinc/images/byok-pricing-guide-3.png\"\n })\n })\n }), \"\\n\", _jsx(_components.p, {\n children: \"You should be all set.\"\n }), \"\\n\", _jsx(Note, {\n children: _jsx(_components.p, {\n children: \"If this is the first time you create an API key with a provider, there is a\\ngood chance that your key may be rate and feature limited. For example, as of\\nNovember 1, 2024, all new API keys registered with new OpenAI accounts are\\nprohibited from running GPT-4o model series. To lift this restriction, you may\\nneed to add $5 credt and provide verified billing information within your\\nOpenAI account. Different providers may have different policies regarding\\naccount verification.\"\n })\n }), \"\\n\", _jsx(Heading, {\n level: \"2\",\n id: \"budgeting-for-ai-usage\",\n children: \"Budgeting for AI usage\"\n }), \"\\n\", _jsx(_components.p, {\n children: \"In general, using your own API key will be more cost efficient than purchasing MC add-ons directly. To help you estimate costs\\nassociated with running your BYOK account, we provide the following references.\"\n }), \"\\n\", _jsxs(Note, {\n children: [_jsx(_components.p, {\n children: \"LLM providers change their pricing from time to time, so the information we\\nprovide may not always be up-to-date. For latest information on pricing,\\nplease visit:\"\n }), _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [\"OpenAI (GPT models): \", _jsx(_components.a, {\n href: \"https://openai.com/pricing\",\n children: \"https://openai.com/pricing\"\n })]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"Anthropic (Claude models): \", _jsx(_components.a, {\n href: \"https://www.anthropic.com/pricing#anthropic-api\",\n children: \"https://www.anthropic.com/pricing#anthropic-api\"\n })]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"Google (Gemini models): \", _jsx(_components.a, {\n href: \"https://ai.google.dev/pricing#1%5C_5flash\",\n children: \"https://ai.google.dev/pricing#1\\\\_5flash\"\n })]\n }), \"\\n\"]\n })]\n }), \"\\n\", _jsx(_components.p, {\n children: \"The simplest estimate you can use is this:\"\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsx(_components.li, {\n children: \"Each Message Credit costs ~$0.0032 USD\"\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"For example, GPT-4-1106-4k uses 20 MCs per query. To estimate the cost in USD, multiply \", _jsxs(_components.span, {\n className: \"katex\",\n children: [_jsx(_components.span, {\n className: \"katex-mathml\",\n children: _jsx(_components.math, {\n xmlns: \"http://www.w3.org/1998/Math/MathML\",\n children: _jsxs(_components.semantics, {\n children: [_jsxs(_components.mrow, {\n children: [_jsx(_components.mn, {\n children: \"0.0032\"\n }), _jsx(_components.mstyle, {\n mathcolor: \"#cc0000\",\n children: _jsx(_components.mtext, {\n children: \"\\\\*\"\n })\n }), _jsx(_components.mn, {\n children: \"20\"\n }), _jsx(_components.mo, {\n children: \"=\"\n })]\n }), _jsx(_components.annotation, {\n encoding: \"application/x-tex\",\n children: \"0.0032 \\\\* 20 = \"\n })]\n })\n })\n }), _jsx(_components.span, {\n className: \"katex-html\",\n \"aria-hidden\": \"true\",\n children: _jsxs(_components.span, {\n className: \"base\",\n children: [_jsx(_components.span, {\n className: \"strut\",\n style: {\n height: \"1em\",\n verticalAlign: \"-0.25em\"\n }\n }), _jsx(_components.span, {\n className: \"mord\",\n children: \"0.0032\"\n }), _jsx(_components.span, {\n className: \"mord text\",\n style: {\n color: \"#cc0000\"\n },\n children: _jsx(_components.span, {\n className: \"mord\",\n style: {\n color: \"#cc0000\"\n },\n children: \"\\\\*\"\n })\n }), _jsx(_components.span, {\n className: \"mord\",\n children: \"20\"\n }), _jsx(_components.span, {\n className: \"mspace\",\n style: {\n marginRight: \"0.2778em\"\n }\n }), _jsx(_components.span, {\n className: \"mrel\",\n children: \"=\"\n })]\n })\n })]\n }), \"0.064 USD.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"This is a very rough estimate. Actual spend may be around +/- 20% of the estimated number. This is because LLM usage is measured\\nbased on “tokens”, and input vs. output tokens cost different amounts even for the same LLM. To understand tokens, we\\nrefer you to this article: \", _jsx(_components.a, {\n href: \"https://help.openai.com/en/articles/4936856-what-are-tokens-and-how-to-count-them.\",\n children: \"https://help.openai.com/en/articles/4936856-what-are-tokens-and-how-to-count-them.\"\n })]\n }), \"\\n\", _jsx(_components.p, {\n children: \"There are many parts to a LLM query. At a high level, they can be broken down into:\"\n }), \"\\n\", _jsx(_components.p, {\n children: \"Input:\"\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsx(_components.p, {\n children: \"System prompt and metadata\"\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsx(_components.p, {\n children: \"User-defined base prompt\"\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsx(_components.p, {\n children: \"Variables and definitions\"\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsx(_components.p, {\n children: \"Conversation label definitions\"\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsx(_components.p, {\n children: \"Function metadata and descriptions\"\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsx(_components.p, {\n children: \"Function parameters\"\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsx(_components.p, {\n children: \"Function response\"\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsx(_components.p, {\n children: \"Static RAG context\"\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsx(_components.p, {\n children: \"Conversation memory\"\n }), \"\\n\"]\n }), \"\\n\"]\n }), \"\\n\", _jsx(_components.p, {\n children: \"Output:\"\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsx(_components.p, {\n children: \"Text response\"\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsx(_components.p, {\n children: \"Response metadata\"\n }), \"\\n\"]\n }), \"\\n\"]\n }), \"\\n\", _jsx(Heading, {\n level: \"3\",\n id: \"openai-pricing-breakdown\",\n children: \"OpenAI pricing breakdown\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"GPT-trainer supports a variety of OpenAI LLMs, as well as different versions of the same LLM with custom token limit cutoffs.\\nTo help you budget for your usage, we provide a summary based on our \", _jsx(_components.strong, {\n children: \"default\"\n }), \" split of reserved input vs. output tokens. Please refer\\nto the following table (all $ are in USD). Please note that this generally represents an upper limit since not all input / output tokens\\nin the reservation window are used every single LLM query.\"]\n }), \"\\n\", _jsxs(_components.table, {\n children: [_jsx(_components.thead, {\n children: _jsxs(_components.tr, {\n children: [_jsx(_components.th, {\n children: \"Model\"\n }), _jsx(_components.th, {\n children: \"Reserved for Input\"\n }), _jsx(_components.th, {\n children: \"Reserved for Output\"\n }), _jsx(_components.th, {\n children: \"Cost / Input Token\"\n }), _jsx(_components.th, {\n children: \"Cost / Output Token\"\n }), _jsx(_components.th, {\n children: \"Total Cost per Query\"\n })]\n })\n }), _jsxs(_components.tbody, {\n children: [_jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: \"GPT-3.5\"\n }), _jsx(_components.td, {\n children: \"2800\"\n }), _jsx(_components.td, {\n children: \"1200\"\n }), _jsx(_components.td, {\n children: \"0.0000005\"\n }), _jsx(_components.td, {\n children: \"0.0000015\"\n }), _jsx(_components.td, {\n children: \"0.0032\"\n })]\n }), _jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: \"GPT-3.5-16k\"\n }), _jsx(_components.td, {\n children: \"13600\"\n }), _jsx(_components.td, {\n children: \"2400\"\n }), _jsx(_components.td, {\n children: \"0.0000005\"\n }), _jsx(_components.td, {\n children: \"0.0000015\"\n }), _jsx(_components.td, {\n children: \"0.0104\"\n })]\n }), _jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: \"GPT-4o-mini-1k\"\n }), _jsx(_components.td, {\n children: \"800\"\n }), _jsx(_components.td, {\n children: \"200\"\n }), _jsx(_components.td, {\n children: \"0.00000015\"\n }), _jsx(_components.td, {\n children: \"0.0000006\"\n }), _jsx(_components.td, {\n children: \"0.00024\"\n })]\n }), _jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: \"GPT-4o-mini-2k\"\n }), _jsx(_components.td, {\n children: \"1600\"\n }), _jsx(_components.td, {\n children: \"400\"\n }), _jsx(_components.td, {\n children: \"0.00000015\"\n }), _jsx(_components.td, {\n children: \"0.0000006\"\n }), _jsx(_components.td, {\n children: \"0.00048\"\n })]\n }), _jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: \"GPT-4o-mini-4k\"\n }), _jsx(_components.td, {\n children: \"2800\"\n }), _jsx(_components.td, {\n children: \"1200\"\n }), _jsx(_components.td, {\n children: \"0.00000015\"\n }), _jsx(_components.td, {\n children: \"0.0000006\"\n }), _jsx(_components.td, {\n children: \"0.00114\"\n })]\n }), _jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: \"GPT-4o-mini-8k\"\n }), _jsx(_components.td, {\n children: \"5600\"\n }), _jsx(_components.td, {\n children: \"2400\"\n }), _jsx(_components.td, {\n children: \"0.00000015\"\n }), _jsx(_components.td, {\n children: \"0.0000006\"\n }), _jsx(_components.td, {\n children: \"0.00228\"\n })]\n }), _jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: \"GPT-4o-mini-16k\"\n }), _jsx(_components.td, {\n children: \"12800\"\n }), _jsx(_components.td, {\n children: \"3200\"\n }), _jsx(_components.td, {\n children: \"0.00000015\"\n }), _jsx(_components.td, {\n children: \"0.0000006\"\n }), _jsx(_components.td, {\n children: \"0.00384\"\n })]\n }), _jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: \"GPT-4o-mini-32k\"\n }), _jsx(_components.td, {\n children: \"28000\"\n }), _jsx(_components.td, {\n children: \"4000\"\n }), _jsx(_components.td, {\n children: \"0.00000015\"\n }), _jsx(_components.td, {\n children: \"0.0000006\"\n }), _jsx(_components.td, {\n children: \"0.0066\"\n })]\n }), _jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: \"GPT-4o-mini-64k\"\n }), _jsx(_components.td, {\n children: \"60000\"\n }), _jsx(_components.td, {\n children: \"4000\"\n }), _jsx(_components.td, {\n children: \"0.00000015\"\n }), _jsx(_components.td, {\n children: \"0.0000006\"\n }), _jsx(_components.td, {\n children: \"0.0114\"\n })]\n }), _jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: \"GPT-4o-1k\"\n }), _jsx(_components.td, {\n children: \"800\"\n }), _jsx(_components.td, {\n children: \"200\"\n }), _jsx(_components.td, {\n children: \"0.0000025\"\n }), _jsx(_components.td, {\n children: \"0.00001\"\n }), _jsx(_components.td, {\n children: \"0.004\"\n })]\n }), _jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: \"GPT-4o-2k\"\n }), _jsx(_components.td, {\n children: \"1600\"\n }), _jsx(_components.td, {\n children: \"400\"\n }), _jsx(_components.td, {\n children: \"0.0000025\"\n }), _jsx(_components.td, {\n children: \"0.00001\"\n }), _jsx(_components.td, {\n children: \"0.008\"\n })]\n }), _jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: \"GPT-4o-4k\"\n }), _jsx(_components.td, {\n children: \"2800\"\n }), _jsx(_components.td, {\n children: \"1200\"\n }), _jsx(_components.td, {\n children: \"0.0000025\"\n }), _jsx(_components.td, {\n children: \"0.00001\"\n }), _jsx(_components.td, {\n children: \"0.019\"\n })]\n }), _jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: \"GPT-4o-8k\"\n }), _jsx(_components.td, {\n children: \"5600\"\n }), _jsx(_components.td, {\n children: \"2400\"\n }), _jsx(_components.td, {\n children: \"0.0000025\"\n }), _jsx(_components.td, {\n children: \"0.00001\"\n }), _jsx(_components.td, {\n children: \"0.038\"\n })]\n }), _jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: \"GPT-4o-16k\"\n }), _jsx(_components.td, {\n children: \"12800\"\n }), _jsx(_components.td, {\n children: \"3200\"\n }), _jsx(_components.td, {\n children: \"0.0000025\"\n }), _jsx(_components.td, {\n children: \"0.00001\"\n }), _jsx(_components.td, {\n children: \"0.064\"\n })]\n }), _jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: \"GPT-4o-32k\"\n }), _jsx(_components.td, {\n children: \"28000\"\n }), _jsx(_components.td, {\n children: \"4000\"\n }), _jsx(_components.td, {\n children: \"0.0000025\"\n }), _jsx(_components.td, {\n children: \"0.00001\"\n }), _jsx(_components.td, {\n children: \"0.11\"\n })]\n }), _jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: \"GPT-4o-64k\"\n }), _jsx(_components.td, {\n children: \"60000\"\n }), _jsx(_components.td, {\n children: \"4000\"\n }), _jsx(_components.td, {\n children: \"0.0000025\"\n }), _jsx(_components.td, {\n children: \"0.00001\"\n }), _jsx(_components.td, {\n children: \"0.19\"\n })]\n }), _jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: \"GPT-4-1106-1k\"\n }), _jsx(_components.td, {\n children: \"800\"\n }), _jsx(_components.td, {\n children: \"200\"\n }), _jsx(_components.td, {\n children: \"0.00001\"\n }), _jsx(_components.td, {\n children: \"0.00003\"\n }), _jsx(_components.td, {\n children: \"0.014\"\n })]\n }), _jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: \"GPT-4-1106-2k\"\n }), _jsx(_components.td, {\n children: \"1600\"\n }), _jsx(_components.td, {\n children: \"400\"\n }), _jsx(_components.td, {\n children: \"0.00001\"\n }), _jsx(_components.td, {\n children: \"0.00003\"\n }), _jsx(_components.td, {\n children: \"0.028\"\n })]\n }), _jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: \"GPT-4-1106-4k\"\n }), _jsx(_components.td, {\n children: \"2800\"\n }), _jsx(_components.td, {\n children: \"1200\"\n }), _jsx(_components.td, {\n children: \"0.00001\"\n }), _jsx(_components.td, {\n children: \"0.00003\"\n }), _jsx(_components.td, {\n children: \"0.064\"\n })]\n }), _jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: \"GPT-4-0125-8k\"\n }), _jsx(_components.td, {\n children: \"5600\"\n }), _jsx(_components.td, {\n children: \"2400\"\n }), _jsx(_components.td, {\n children: \"0.00001\"\n }), _jsx(_components.td, {\n children: \"0.00003\"\n }), _jsx(_components.td, {\n children: \"0.128\"\n })]\n }), _jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: \"GPT-4-1106-16k\"\n }), _jsx(_components.td, {\n children: \"12800\"\n }), _jsx(_components.td, {\n children: \"3200\"\n }), _jsx(_components.td, {\n children: \"0.00001\"\n }), _jsx(_components.td, {\n children: \"0.00003\"\n }), _jsx(_components.td, {\n children: \"0.224\"\n })]\n }), _jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: \"GPT-4-1106-32k\"\n }), _jsx(_components.td, {\n children: \"28000\"\n }), _jsx(_components.td, {\n children: \"4000\"\n }), _jsx(_components.td, {\n children: \"0.00001\"\n }), _jsx(_components.td, {\n children: \"0.00003\"\n }), _jsx(_components.td, {\n children: \"0.4\"\n })]\n }), _jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: \"GPT-4-1106-64k\"\n }), _jsx(_components.td, {\n children: \"60000\"\n }), _jsx(_components.td, {\n children: \"4000\"\n }), _jsx(_components.td, {\n children: \"0.00001\"\n }), _jsx(_components.td, {\n children: \"0.00003\"\n }), _jsx(_components.td, {\n children: \"0.72\"\n })]\n })]\n })]\n }), \"\\n\", _jsx(Heading, {\n level: \"2\",\n id: \"byok-for-white-label-commercial-partners\",\n children: \"BYOK for white-label commercial partners\"\n }), \"\\n\", _jsx(_components.p, {\n children: \"In addition to the costs for MC expenditures during LLM queries, you also need to pay to run our AI multi-agent framework using your\\nown API key. This is independent of whether your users have supplied their API key for their personal accounts. Since the official GPT-trainer\\nsubsidizes its users for all costs associated with running the AI framework, your white-label solution must operate with this premise\\nas well.\"\n }), \"\\n\", _jsx(_components.p, {\n children: \"There are three separate workflows that require your own API key to cover your user’s AI expenditures. The conditions under which they apply\\nare listed below.\"\n }), \"\\n\", _jsxs(_components.ol, {\n children: [\"\\n\", _jsx(_components.li, {\n children: \"AI Agent intent generation\"\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsx(_components.p, {\n children: \"Applicable if two or more AI Agents are connected\"\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsx(_components.p, {\n children: \"Charged whenever a new user-facing AI Agent goes live or an existing one is edited\"\n }), \"\\n\"]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.ol, {\n children: [\"\\n\", _jsx(_components.li, {\n children: \"Query intent classification\"\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsx(_components.p, {\n children: \"Applicable if two or more user-facing Agents are connected\"\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsx(_components.p, {\n children: \"Charged on a per query basis\"\n }), \"\\n\"]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.ol, {\n children: [\"\\n\", _jsx(_components.li, {\n children: \"Variable extraction\"\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsx(_components.p, {\n children: \"Applicable if AI Agent has one or more variables set up\"\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsx(_components.p, {\n children: \"Charged on a per query basis\"\n }), \"\\n\"]\n }), \"\\n\"]\n }), \"\\n\", _jsx(_components.p, {\n children: \"The estimated costs associated with each workflow is as follows:\"\n }), \"\\n\", _jsxs(_components.table, {\n children: [_jsx(_components.thead, {\n children: _jsxs(_components.tr, {\n children: [_jsx(_components.th, {\n children: \"Workflow\"\n }), _jsx(_components.th, {\n children: \"Average Estimated Input\"\n }), _jsx(_components.th, {\n children: \"Average Estimated Output\"\n }), _jsx(_components.th, {\n children: \"Cost / Input Token\"\n }), _jsx(_components.th, {\n children: \"Cost / Output Token\"\n }), _jsx(_components.th, {\n children: \"Estimated Cost per Run\"\n })]\n })\n }), _jsxs(_components.tbody, {\n children: [_jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: \"AI Agent intent generation (gpt-4-1106-preview)\"\n }), _jsx(_components.td, {\n children: \"600\"\n }), _jsx(_components.td, {\n children: \"450\"\n }), _jsx(_components.td, {\n children: \"0.00001\"\n }), _jsx(_components.td, {\n children: \"0.00003\"\n }), _jsx(_components.td, {\n children: \"0.0011\"\n })]\n }), _jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: \"Query intent classification (gpt-3.5-turbo-1106)\"\n }), _jsx(_components.td, {\n children: \"1000\"\n }), _jsx(_components.td, {\n children: \"50\"\n }), _jsx(_components.td, {\n children: \"0.000001\"\n }), _jsx(_components.td, {\n children: \"0.000002\"\n }), _jsx(_components.td, {\n children: \"0.0195\"\n })]\n }), _jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: \"Variables extraction (gpt-3.5-turbo-1106)\"\n }), _jsx(_components.td, {\n children: \"1000\"\n }), _jsx(_components.td, {\n children: \"100\"\n }), _jsx(_components.td, {\n children: \"0.000001\"\n }), _jsx(_components.td, {\n children: \"0.000002\"\n }), _jsx(_components.td, {\n children: \"0.0012\"\n })]\n })]\n })]\n }), \"\\n\", _jsx(_components.p, {\n children: \"All costs from the above workflow will be charged directly against your own API key. This cost cannot be transferred onto your clients.\"\n }), \"\\n\", _jsx(_components.p, {\n children: \"There may be more AI features in the future that require using your own API key. We will update the documentation as needed to help you plan ahead.\\nHowever, in general, these extra API costs should be fairly negligible in comparison to AI costs associated with Message Credit expenditures.\"\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\nfunction _missingMdxReference(id, component) {\n throw new Error(\"Expected \" + (component ? \"component\" : \"object\") + \" `\" + id + \"` to be defined: you likely forgot to import, pass, or provide it.\");\n}\n","frontmatter":{},"scope":{"mintConfig":{"$schema":"https://mintlify.com/schema.json","name":"GPT-trainer API","logo":{"light":"https://mintlify.s3.us-west-1.amazonaws.com/paladinmaxinc/logo/light.svg","dark":"https://mintlify.s3.us-west-1.amazonaws.com/paladinmaxinc/logo/dark.svg"},"favicon":"/logo/favicon.png","api":{"baseUrl":"https://app.gpt-trainer.com/api","auth":{"method":"bearer"}},"colors":{"primary":"#2E3F51","light":"#516F90","dark":"#0D001D","background":{"dark":"#111827"},"anchors":{"from":"#ED727B","to":"#F6B7BB"}},"topbarLinks":[{"url":"mailto:hello@gpt-trainer.com","name":"Support","_id":"676a0adaff1411a490c729a2"}],"navigation":[{"group":"Getting Started","pages":["introduction"]},{"group":"Guides","pages":["creating-first-chatbot","lead-collection","human-support-escalation","inbox-notifications","conversation-labeling","multi-agents-chatbot","fine-tuning-agent-intents","supervisor-overrides","byok-pricing-guide","working-with-tables","best-practices","help"]},{"group":"Function Calling","pages":["rag-from-external-data-provider"]},{"group":"API Usage Guides","pages":["api-reference/api-key-setup","api-reference/guide-00-chatbot-create","api-reference/guide-01-chat","api-reference/guide-02-source"]},{"group":"Authentication Webhook","pages":["user-identity"]},{"group":"Chatbots","pages":["api-reference/chatbots/properties-reference","api-reference/chatbots/create","api-reference/chatbots/update","api-reference/chatbots/fetch","api-reference/chatbots/fetch_multi","api-reference/chatbots/delete"]},{"group":"Agents","pages":["api-reference/agents/properties-reference","api-reference/agents/create","api-reference/agents/update","api-reference/agents/fetch_multi","api-reference/agents/delete"]},{"group":"Chatbot Sessions","pages":["api-reference/sessions/properties-reference","api-reference/sessions/create","api-reference/sessions/fetch","api-reference/sessions/fetch_multi","api-reference/sessions/delete","api-reference/sessions/delete_multi"]},{"group":"Session Messages","pages":["api-reference/messages/properties-reference","api-reference/messages/create","api-reference/messages/fetch_multi","api-reference/messages/delete","api-reference/messages/delete_multi"]},{"group":"Data Sources","pages":["api-reference/data-sources/properties-reference","api-reference/data-sources/create-file","api-reference/data-sources/create-qa","api-reference/data-sources/create-url","api-reference/data-sources/update","api-reference/data-sources/fetch_multi","api-reference/data-sources/retrain","api-reference/data-sources/delete","api-reference/data-sources/delete_multi"]},{"group":"Data Source Tags","pages":["api-reference/source-tags/create","api-reference/source-tags/fetch-multi","api-reference/source-tags/update","api-reference/source-tags/delete"]},{"group":"Tool Guides","pages":["tools/tools-intro"]},{"group":"Tools","pages":["tools/weekday"]},{"group":"Whitelabel Dashboard","pages":["whitelabel/whitelabel-intro","whitelabel/whitelabel-plans","whitelabel/whitelabel-users"]},{"group":"Integrations","pages":["whitelabel/whitelabel-zapier","whitelabel/whitelabel-make","whitelabel/whitelabel-meta"]}],"primaryTab":{"name":"Documentation"},"anchors":[{"name":"API References","url":"api-reference","icon":"code","_id":"676a0adaff1411a490c7299f"},{"name":"Tools","url":"tools","icon":"gear","_id":"676a0adaff1411a490c729a0"},{"name":"Whitelabel","url":"whitelabel","icon":"browser","_id":"676a0adaff1411a490c729a1"}],"repo":{"github":{"owner":"ks-collab","repo":"gpt-trainer-docs","contentDirectory":"","deployBranch":"main","isPrivate":false}}},"pageMetadata":{"title":"Bring Your Own Key (BYOK) and Pricing","description":null,"href":"/byok-pricing-guide"}}},"mdxExtracts":{"tableOfContents":[{"title":"Setting up BYOK","slug":"setting-up-byok","depth":2,"children":[{"title":"Provider-specific instructions","slug":"provider-specific-instructions","depth":3,"children":[]}]},{"title":"Budgeting for AI usage","slug":"budgeting-for-ai-usage","depth":2,"children":[{"title":"OpenAI pricing breakdown","slug":"openai-pricing-breakdown","depth":3,"children":[]}]},{"title":"BYOK for white-label commercial partners","slug":"byok-for-white-label-commercial-partners","depth":2,"children":[]}],"codeExamples":{}},"description":null,"pageData":{"navWithMetadata":[{"group":"Getting Started","pages":[{"title":"Introduction","description":null,"href":"/introduction"}]},{"group":"Guides","pages":[{"title":"Create Your First Chatbot","description":null,"href":"/creating-first-chatbot"},{"title":"Lead Collection","description":null,"href":"/lead-collection"},{"title":"Human Support Escalation","description":null,"href":"/human-support-escalation"},{"title":"Inbox Notifications","description":null,"href":"/inbox-notifications"},{"title":"Conversation Labeling","description":null,"href":"/conversation-labeling"},{"title":"Multi-Agents Chatbot","description":null,"href":"/multi-agents-chatbot"},{"title":"Fine Tuning Agent Intents","description":null,"href":"/fine-tuning-agent-intents"},{"title":"AI Supervisor Overrides","description":null,"href":"/supervisor-overrides"},{"title":"Bring Your Own Key (BYOK) and Pricing","description":null,"href":"/byok-pricing-guide"},{"title":"Working with Tables and CSV","description":null,"href":"/working-with-tables"},{"title":"Best practices for preparing training data","description":null,"href":"/best-practices"},{"title":"Why does my chatbot not answer correctly?","description":null,"href":"/help"}]},{"group":"Function Calling","pages":[{"title":"RAG from an External Data Provider","description":null,"href":"/rag-from-external-data-provider"}]},{"group":"API Usage Guides","pages":[{"title":"Getting a GPT-trainer API Key","description":null,"href":"/api-reference/api-key-setup"},{"title":"Create Chabot","description":null,"href":"/api-reference/guide-00-chatbot-create"},{"title":"Chat with Chatbot","description":null,"href":"/api-reference/guide-01-chat"},{"title":"Uploading Data Sources","description":null,"href":"/api-reference/guide-02-source"}]},{"group":"Authentication Webhook","pages":[{"title":"User Identity Verification","description":null,"href":"/user-identity"}]},{"group":"Chatbots","pages":[{"title":"Chatbot Properties","description":"Detailed explanation of chatbot's properties","href":"/api-reference/chatbots/properties-reference"},{"title":"Create Chatbot","description":"Create a chatbot that belongs to the authenticated user","api":"POST https://app.gpt-trainer.com/api/v1/chatbot/create","href":"/api-reference/chatbots/create"},{"title":"Update Chatbot","description":"Update chatbot meta base on uuid","api":"POST https://app.gpt-trainer.com/api/v1/chatbot/{uuid}/update","href":"/api-reference/chatbots/update"},{"title":"Fetch a Chatbot","description":"Fetch single chatbot base on uuid","api":"GET https://app.gpt-trainer.com/api/v1/chatbot/{uuid}","href":"/api-reference/chatbots/fetch"},{"title":"Fetch all Chatbots","description":"Fetch the list of chatbots for current user","api":"GET https://app.gpt-trainer.com/api/v1/chatbots","href":"/api-reference/chatbots/fetch_multi"},{"title":"Delete Chatbot","description":"Delete single chatbot base on uuid","api":"DELETE https://app.gpt-trainer.com/api/v1/chatbot/{uuid}/delete","href":"/api-reference/chatbots/delete"}]},{"group":"Agents","pages":[{"title":"Agent Properties","description":"Detailed explanation of agent's properties","href":"/api-reference/agents/properties-reference"},{"title":"Create Agent","description":"Create an agent for a chatbot specified by chatbot uuid","api":"POST https://app.gpt-trainer.com/api/v1/chatbot/\u003cuuid\u003e/agent/create","href":"/api-reference/agents/create"},{"title":"Update Agent","description":"Update agent meta based on uuid","api":"POST https://app.gpt-trainer.com/api/v1/agent/{uuid}/update","href":"/api-reference/agents/update"},{"title":"Fetch all Agents","description":"Fetch the list of agents for a chatbot specified by chatbot uuid","api":"GET https://app.gpt-trainer.com/api/v1/chatbot/{uuid}/agents","href":"/api-reference/agents/fetch_multi"},{"title":"Delete Agent","description":"Delete single agent base on uuid","api":"DELETE https://app.gpt-trainer.com/api/v1/agent/{uuid}/delete","href":"/api-reference/agents/delete"}]},{"group":"Chatbot Sessions","pages":[{"title":"Session Properties","description":"Detailed explanation of sessions's properties","href":"/api-reference/sessions/properties-reference"},{"title":"Create Session","description":"Create a chat session for a chatbot specified by chatbot uuid","api":"POST https://app.gpt-trainer.com/api/v1/chatbot/{uuid}/session/create","href":"/api-reference/sessions/create"},{"title":"Fetch a Session","description":"Fetch single chatbot session base on uuid","api":"GET https://app.gpt-trainer.com/api/v1/session/{uuid}","href":"/api-reference/sessions/fetch"},{"title":"Fetch all Sessions","description":"Fetch the list of sessions for a chatbot specified by chatbot uuid","api":"GET https://app.gpt-trainer.com/api/v1/chatbot/{uuid}/sessions","href":"/api-reference/sessions/fetch_multi"},{"title":"Delete Session","description":"Delete a session by its UUID","api":"POST https://app.gpt-trainer.com/api/v1/session/{uuid}/delete","href":"/api-reference/sessions/delete"},{"title":"Delete Session","description":"Delete a session by its UUID","api":"POST https://app.gpt-trainer.com/api/v1/session/{uuid}/delete","href":"/api-reference/sessions/delete_multi"}]},{"group":"Session Messages","pages":[{"title":"Message Properties","description":"Detailed explanation of message's properties","href":"/api-reference/messages/properties-reference"},{"title":"Create Message","description":"Create a session message for a chatbot session specified by session uuid","api":"POST https://app.gpt-trainer.com/api/v1/session/{uuid}/message/stream","href":"/api-reference/messages/create"},{"title":"Fetch all Messages","description":"Fetch the list of messages for a session specified by session uuid","api":"GET https://app.gpt-trainer.com/api/v1/session/{uuid}/messages","href":"/api-reference/messages/fetch_multi"},{"title":"Delete Message","description":"Delete single message base on uuid","api":"POST https://app.gpt-trainer.com/api/v1/message/{uuid}/delete","href":"/api-reference/messages/delete"},{"title":"Delete multiple Messages","description":"Delete list of messages base on their uuids","api":"POST https://app.gpt-trainer.com/api/v1/messages/delete","href":"/api-reference/messages/delete_multi"}]},{"group":"Data Sources","pages":[{"title":"Source properties","description":"Detailed explanation of source's properties","href":"/api-reference/data-sources/properties-reference"},{"title":"Upload a File","description":"Create a File source for a chatbot specified by chatbot uuid","api":"POST https://app.gpt-trainer.com/api/v1/chatbot/{uuid}/data-source/upload","href":"/api-reference/data-sources/create-file"},{"title":"Create QA Source","description":"Create a QA source for a chatbot specified by chatbot uuid","api":"POST https://app.gpt-trainer.com/api/v1/chatbot/{uuid}/data-source/qa","href":"/api-reference/data-sources/create-qa"},{"title":"Create URL Source","description":"Create a URL source for a chatbot specified by chatbot uuid","api":"POST https://app.gpt-trainer.com/api/v1/chatbot/{uuid}/data-source/url","href":"/api-reference/data-sources/create-url"},{"title":"Update Source","description":"Update source meta base on uuid","api":"POST https://app.gpt-trainer.com/api/v1/data-source/{uuid}/update","href":"/api-reference/data-sources/update"},{"title":"Fetch list of Sources","description":"Fetch the list of sources for a chatbot specified by chatbot uuid","api":"GET https://app.gpt-trainer.com/api/v1/chatbot/{uuid}/data-sources","href":"/api-reference/data-sources/fetch_multi"},{"title":"Retrain Sources","description":"Retrain multiple URL data sources to fetch the latest content from them.","api":"POST https://app.gpt-trainer.com/api/v1/data-sources/url/re-scrape","href":"/api-reference/data-sources/retrain"},{"title":"Delete Source","description":"Delete single source base on uuid","api":"POST https://app.gpt-trainer.com/api/v1/data-source/{uuid}/delete","href":"/api-reference/data-sources/delete"},{"title":"Delete multiple Sources","description":"Delete list of sources base on their uuids","api":"POST https://app.gpt-trainer.com/api/v1/data-sources/delete","href":"/api-reference/data-sources/delete_multi"}]},{"group":"Data Source Tags","pages":[{"title":"Create Source Tag","description":"Create a source tag for a chabot. Source tags can be used to organize sources.","api":"POST https://app.gpt-trainer.com/api/v1/chatbot/\u003cuuid\u003e/source-tag/create","href":"/api-reference/source-tags/create"},{"title":"Fetch all Source Tags","description":"List all source tags for a chabot.","api":"GET https://app.gpt-trainer.com/api/v1/chatbot/\u003cuuid\u003e/source-tags","href":"/api-reference/source-tags/fetch-multi"},{"title":"Update Source Tag","description":"Update the properties of a source tag, including its list of documents.","api":"POST https://app.gpt-trainer.com/api/v1/source-tag/\u003cuuid\u003e/update","href":"/api-reference/source-tags/update"},{"title":"Delete Source Tag","description":"Delete a source tag based on uuid","api":"DELETE https://app.gpt-trainer.com/api/v1/source-tag/{uuid}/delete","href":"/api-reference/source-tags/delete"}]},{"group":"Tool Guides","pages":[{"title":"Introduction","description":null,"href":"/tools/tools-intro"}]},{"group":"Tools","pages":[{"title":"Weekday","description":"This function finds the day of the week, given a date. For example, given the date '2024-10-07', it will return a JSON: `{'weekday': 'Monday'}`","api":"GET https://tools.gpt-trainer.com/weekday","href":"/tools/weekday"}]},{"group":"Whitelabel Dashboard","pages":[{"title":"Introduction and first-time setup","description":null,"href":"/whitelabel/whitelabel-intro"},{"title":"Creating plans and pricing considerations","description":null,"href":"/whitelabel/whitelabel-plans"},{"title":"Managing your users","description":null,"href":"/whitelabel/whitelabel-users"}]},{"group":"Integrations","pages":[{"title":"Publishing a Zapier app","description":null,"href":"/whitelabel/whitelabel-zapier"},{"title":"Publishing a Make app","description":null,"href":"/whitelabel/whitelabel-make"},{"title":"Adding Meta integrations","description":null,"href":"/whitelabel/whitelabel-meta"}]}],"pageMetadata":{"title":"Bring Your Own Key (BYOK) and Pricing","description":null,"href":"/byok-pricing-guide"},"mintConfig":{"layout":"topnav","sidebar":{"items":"container"},"topbar":{"style":"default"},"search":{"location":"top"},"rounded":"default","codeBlock":{"mode":"dark"},"$schema":"https://mintlify.com/schema.json","name":"GPT-trainer API","logo":{"light":"https://mintlify.s3.us-west-1.amazonaws.com/paladinmaxinc/logo/light.svg","dark":"https://mintlify.s3.us-west-1.amazonaws.com/paladinmaxinc/logo/dark.svg"},"favicon":"/logo/favicon.png","api":{"baseUrl":"https://app.gpt-trainer.com/api","auth":{"method":"bearer"}},"colors":{"primary":"#2E3F51","light":"#516F90","dark":"#0D001D","background":{"dark":"#111827"},"anchors":{"from":"#ED727B","to":"#F6B7BB"}},"topbarLinks":[{"url":"mailto:hello@gpt-trainer.com","name":"Support","_id":"676a0adaff1411a490c729a2"}],"navigation":[{"group":"Getting Started","pages":["introduction"]},{"group":"Guides","pages":["creating-first-chatbot","lead-collection","human-support-escalation","inbox-notifications","conversation-labeling","multi-agents-chatbot","fine-tuning-agent-intents","supervisor-overrides","byok-pricing-guide","working-with-tables","best-practices","help"]},{"group":"Function Calling","pages":["rag-from-external-data-provider"]},{"group":"API Usage Guides","pages":["api-reference/api-key-setup","api-reference/guide-00-chatbot-create","api-reference/guide-01-chat","api-reference/guide-02-source"]},{"group":"Authentication Webhook","pages":["user-identity"]},{"group":"Chatbots","pages":["api-reference/chatbots/properties-reference","api-reference/chatbots/create","api-reference/chatbots/update","api-reference/chatbots/fetch","api-reference/chatbots/fetch_multi","api-reference/chatbots/delete"]},{"group":"Agents","pages":["api-reference/agents/properties-reference","api-reference/agents/create","api-reference/agents/update","api-reference/agents/fetch_multi","api-reference/agents/delete"]},{"group":"Chatbot Sessions","pages":["api-reference/sessions/properties-reference","api-reference/sessions/create","api-reference/sessions/fetch","api-reference/sessions/fetch_multi","api-reference/sessions/delete","api-reference/sessions/delete_multi"]},{"group":"Session Messages","pages":["api-reference/messages/properties-reference","api-reference/messages/create","api-reference/messages/fetch_multi","api-reference/messages/delete","api-reference/messages/delete_multi"]},{"group":"Data Sources","pages":["api-reference/data-sources/properties-reference","api-reference/data-sources/create-file","api-reference/data-sources/create-qa","api-reference/data-sources/create-url","api-reference/data-sources/update","api-reference/data-sources/fetch_multi","api-reference/data-sources/retrain","api-reference/data-sources/delete","api-reference/data-sources/delete_multi"]},{"group":"Data Source Tags","pages":["api-reference/source-tags/create","api-reference/source-tags/fetch-multi","api-reference/source-tags/update","api-reference/source-tags/delete"]},{"group":"Tool Guides","pages":["tools/tools-intro"]},{"group":"Tools","pages":["tools/weekday"]},{"group":"Whitelabel Dashboard","pages":["whitelabel/whitelabel-intro","whitelabel/whitelabel-plans","whitelabel/whitelabel-users"]},{"group":"Integrations","pages":["whitelabel/whitelabel-zapier","whitelabel/whitelabel-make","whitelabel/whitelabel-meta"]}],"primaryTab":{"name":"Documentation"},"anchors":[{"name":"API References","url":"api-reference","icon":"code","_id":"676a0adaff1411a490c7299f"},{"name":"Tools","url":"tools","icon":"gear","_id":"676a0adaff1411a490c729a0"},{"name":"Whitelabel","url":"whitelabel","icon":"browser","_id":"676a0adaff1411a490c729a1"}],"repo":{"github":{"owner":"ks-collab","repo":"gpt-trainer-docs","contentDirectory":"","deployBranch":"main","isPrivate":false}}},"apiReferenceData":{}},"favicons":{"icons":[{"rel":"apple-touch-icon","sizes":"180x180","href":"https://mintlify.s3-us-west-1.amazonaws.com/paladinmaxinc/_generated/favicon/apple-touch-icon.png?v=3","type":"image/png"},{"rel":"icon","sizes":"32x32","href":"https://mintlify.s3-us-west-1.amazonaws.com/paladinmaxinc/_generated/favicon/favicon-32x32.png?v=3","type":"image/png"},{"rel":"icon","sizes":"16x16","href":"https://mintlify.s3-us-west-1.amazonaws.com/paladinmaxinc/_generated/favicon/favicon-16x16.png?v=3","type":"image/png"},{"rel":"shortcut icon","href":"https://mintlify.s3-us-west-1.amazonaws.com/paladinmaxinc/_generated/favicon/favicon.ico?v=3","type":"image/x-icon"}],"browserconfig":"https://mintlify.s3-us-west-1.amazonaws.com/paladinmaxinc/_generated/favicon/browserconfig.xml?v=3"},"subdomain":"guide.gpt-trainer.com","internalAnalyticsWriteKey":"phc_TXdpocbGVeZVm5VJmAsHTMrCofBQu3e0kN8HGMNGTVW","inkeep":{"integrationApiKey":"4f40617e2acf6b9193ebf897d3ed2d80d831b9c5b431b91d"},"trieve":{"datasetId":"5f00ed3a-c71f-499e-8e71-5e23e2290da3"},"shouldIndex":true,"org":{"createdAt":"2024-01-20T00:51:05.035Z"},"cssFiles":[],"jsFiles":[],"mdxSourceWithNoJs":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n a: \"a\",\n annotation: \"annotation\",\n li: \"li\",\n math: \"math\",\n mn: \"mn\",\n mo: \"mo\",\n mrow: \"mrow\",\n mstyle: \"mstyle\",\n mtext: \"mtext\",\n ol: \"ol\",\n p: \"p\",\n semantics: \"semantics\",\n span: \"span\",\n strong: \"strong\",\n table: \"table\",\n tbody: \"tbody\",\n td: \"td\",\n th: \"th\",\n thead: \"thead\",\n tr: \"tr\",\n ul: \"ul\",\n ..._provideComponents(),\n ...props.components\n }, {Frame, Heading, Note, ZoomImage} = _components;\n if (!Frame) _missingMdxReference(\"Frame\", true);\n if (!Heading) _missingMdxReference(\"Heading\", true);\n if (!Note) _missingMdxReference(\"Note\", true);\n if (!ZoomImage) _missingMdxReference(\"ZoomImage\", true);\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"GPT-trainer operates on a “pay as you go” basis. Rather than having Message Credits (MCs) baked into existing subscriptions, you\\nbuy them separately via add-ons or connect your own AI API keys to enjoy unlimited usage.\"\n }), \"\\n\", _jsx(_components.p, {\n children: \"If you use your own AI API keys, then after you exhaust all MCs inside your GPT-trainer account, additional AI usage will be charged\\nagainst your own API keys.\"\n }), \"\\n\", _jsx(Heading, {\n level: \"2\",\n id: \"setting-up-byok\",\n children: \"Setting up BYOK\"\n }), \"\\n\", _jsx(_components.p, {\n children: \"To set up your own API key, you will first need to register on the AI provider’s website. GPT-trainer currently\\nsupports large language models (LLMs) from OpenAI, Anthropic, and Google. In the future, we plan to expand our list of supported\\nmodels, potentially incorporating open-source and fine-tuned ones.\"\n }), \"\\n\", _jsx(Heading, {\n level: \"3\",\n id: \"provider-specific-instructions\",\n children: \"Provider-specific instructions\"\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [\"OpenAI (GPT models)- \", _jsx(_components.a, {\n href: \"https://platform.openai.com/account/api-keys\",\n children: \"https://platform.openai.com/account/api-keys\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [\"Anthropic (Claude models) - \", _jsx(_components.a, {\n href: \"https://console.anthropic.com/settings/keys\",\n children: \"https://console.anthropic.com/settings/keys\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [\"Google (Gemini models) - \", _jsx(_components.a, {\n href: \"https://ai.google.dev/gemini-api/docs/api-key\",\n children: \"https://ai.google.dev/gemini-api/docs/api-key\"\n })]\n }), \"\\n\"]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"After you obtain your API key, store it in a \", _jsx(_components.strong, {\n children: \"private and secure\"\n }), \" location. GPT-trainer recommends that you use a separate API\\nkey for each of your BYOK applications (including GPT-trainer), and to never share your API key with anyone else.\"]\n }), \"\\n\", _jsx(_components.p, {\n children: \"Next, log in to GPT-trainer and go to the top right corner of the UI. Click the “Profile” icon the bring up a dropdown menu.\"\n }), \"\\n\", _jsx(Frame, {\n children: _jsx(ZoomImage, {\n children: _jsx(\"img\", {\n src: \"https://mintlify.s3.us-west-1.amazonaws.com/paladinmaxinc/images/byok-pricing-guide-1.png\"\n })\n })\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Then, click “Account”. In the \", _jsx(_components.strong, {\n children: \"“AI API Key”\"\n }), \" section, pick your AI provider and paste your API key. Then click “Add”.\\nPlease note that this is \", _jsx(_components.strong, {\n children: \"not\"\n }), \" the “GPT-trainer API keys” section which is used to generate GPT-trainer API keys.\"]\n }), \"\\n\", _jsx(Frame, {\n children: _jsx(ZoomImage, {\n children: _jsx(\"img\", {\n src: \"https://mintlify.s3.us-west-1.amazonaws.com/paladinmaxinc/images/byok-pricing-guide-3.png\"\n })\n })\n }), \"\\n\", _jsx(_components.p, {\n children: \"You should be all set.\"\n }), \"\\n\", _jsx(Note, {\n children: _jsx(_components.p, {\n children: \"If this is the first time you create an API key with a provider, there is a\\ngood chance that your key may be rate and feature limited. For example, as of\\nNovember 1, 2024, all new API keys registered with new OpenAI accounts are\\nprohibited from running GPT-4o model series. To lift this restriction, you may\\nneed to add $5 credt and provide verified billing information within your\\nOpenAI account. Different providers may have different policies regarding\\naccount verification.\"\n })\n }), \"\\n\", _jsx(Heading, {\n level: \"2\",\n id: \"budgeting-for-ai-usage\",\n children: \"Budgeting for AI usage\"\n }), \"\\n\", _jsx(_components.p, {\n children: \"In general, using your own API key will be more cost efficient than purchasing MC add-ons directly. To help you estimate costs\\nassociated with running your BYOK account, we provide the following references.\"\n }), \"\\n\", _jsxs(Note, {\n children: [_jsx(_components.p, {\n children: \"LLM providers change their pricing from time to time, so the information we\\nprovide may not always be up-to-date. For latest information on pricing,\\nplease visit:\"\n }), _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [\"OpenAI (GPT models): \", _jsx(_components.a, {\n href: \"https://openai.com/pricing\",\n children: \"https://openai.com/pricing\"\n })]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"Anthropic (Claude models): \", _jsx(_components.a, {\n href: \"https://www.anthropic.com/pricing#anthropic-api\",\n children: \"https://www.anthropic.com/pricing#anthropic-api\"\n })]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"Google (Gemini models): \", _jsx(_components.a, {\n href: \"https://ai.google.dev/pricing#1%5C_5flash\",\n children: \"https://ai.google.dev/pricing#1\\\\_5flash\"\n })]\n }), \"\\n\"]\n })]\n }), \"\\n\", _jsx(_components.p, {\n children: \"The simplest estimate you can use is this:\"\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsx(_components.li, {\n children: \"Each Message Credit costs ~$0.0032 USD\"\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"For example, GPT-4-1106-4k uses 20 MCs per query. To estimate the cost in USD, multiply \", _jsxs(_components.span, {\n className: \"katex\",\n children: [_jsx(_components.span, {\n className: \"katex-mathml\",\n children: _jsx(_components.math, {\n xmlns: \"http://www.w3.org/1998/Math/MathML\",\n children: _jsxs(_components.semantics, {\n children: [_jsxs(_components.mrow, {\n children: [_jsx(_components.mn, {\n children: \"0.0032\"\n }), _jsx(_components.mstyle, {\n mathcolor: \"#cc0000\",\n children: _jsx(_components.mtext, {\n children: \"\\\\*\"\n })\n }), _jsx(_components.mn, {\n children: \"20\"\n }), _jsx(_components.mo, {\n children: \"=\"\n })]\n }), _jsx(_components.annotation, {\n encoding: \"application/x-tex\",\n children: \"0.0032 \\\\* 20 = \"\n })]\n })\n })\n }), _jsx(_components.span, {\n className: \"katex-html\",\n \"aria-hidden\": \"true\",\n children: _jsxs(_components.span, {\n className: \"base\",\n children: [_jsx(_components.span, {\n className: \"strut\",\n style: {\n height: \"1em\",\n verticalAlign: \"-0.25em\"\n }\n }), _jsx(_components.span, {\n className: \"mord\",\n children: \"0.0032\"\n }), _jsx(_components.span, {\n className: \"mord text\",\n style: {\n color: \"#cc0000\"\n },\n children: _jsx(_components.span, {\n className: \"mord\",\n style: {\n color: \"#cc0000\"\n },\n children: \"\\\\*\"\n })\n }), _jsx(_components.span, {\n className: \"mord\",\n children: \"20\"\n }), _jsx(_components.span, {\n className: \"mspace\",\n style: {\n marginRight: \"0.2778em\"\n }\n }), _jsx(_components.span, {\n className: \"mrel\",\n children: \"=\"\n })]\n })\n })]\n }), \"0.064 USD.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"This is a very rough estimate. Actual spend may be around +/- 20% of the estimated number. This is because LLM usage is measured\\nbased on “tokens”, and input vs. output tokens cost different amounts even for the same LLM. To understand tokens, we\\nrefer you to this article: \", _jsx(_components.a, {\n href: \"https://help.openai.com/en/articles/4936856-what-are-tokens-and-how-to-count-them.\",\n children: \"https://help.openai.com/en/articles/4936856-what-are-tokens-and-how-to-count-them.\"\n })]\n }), \"\\n\", _jsx(_components.p, {\n children: \"There are many parts to a LLM query. At a high level, they can be broken down into:\"\n }), \"\\n\", _jsx(_components.p, {\n children: \"Input:\"\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsx(_components.p, {\n children: \"System prompt and metadata\"\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsx(_components.p, {\n children: \"User-defined base prompt\"\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsx(_components.p, {\n children: \"Variables and definitions\"\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsx(_components.p, {\n children: \"Conversation label definitions\"\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsx(_components.p, {\n children: \"Function metadata and descriptions\"\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsx(_components.p, {\n children: \"Function parameters\"\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsx(_components.p, {\n children: \"Function response\"\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsx(_components.p, {\n children: \"Static RAG context\"\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsx(_components.p, {\n children: \"Conversation memory\"\n }), \"\\n\"]\n }), \"\\n\"]\n }), \"\\n\", _jsx(_components.p, {\n children: \"Output:\"\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsx(_components.p, {\n children: \"Text response\"\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsx(_components.p, {\n children: \"Response metadata\"\n }), \"\\n\"]\n }), \"\\n\"]\n }), \"\\n\", _jsx(Heading, {\n level: \"3\",\n id: \"openai-pricing-breakdown\",\n children: \"OpenAI pricing breakdown\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"GPT-trainer supports a variety of OpenAI LLMs, as well as different versions of the same LLM with custom token limit cutoffs.\\nTo help you budget for your usage, we provide a summary based on our \", _jsx(_components.strong, {\n children: \"default\"\n }), \" split of reserved input vs. output tokens. Please refer\\nto the following table (all $ are in USD). Please note that this generally represents an upper limit since not all input / output tokens\\nin the reservation window are used every single LLM query.\"]\n }), \"\\n\", _jsxs(_components.table, {\n children: [_jsx(_components.thead, {\n children: _jsxs(_components.tr, {\n children: [_jsx(_components.th, {\n children: \"Model\"\n }), _jsx(_components.th, {\n children: \"Reserved for Input\"\n }), _jsx(_components.th, {\n children: \"Reserved for Output\"\n }), _jsx(_components.th, {\n children: \"Cost / Input Token\"\n }), _jsx(_components.th, {\n children: \"Cost / Output Token\"\n }), _jsx(_components.th, {\n children: \"Total Cost per Query\"\n })]\n })\n }), _jsxs(_components.tbody, {\n children: [_jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: \"GPT-3.5\"\n }), _jsx(_components.td, {\n children: \"2800\"\n }), _jsx(_components.td, {\n children: \"1200\"\n }), _jsx(_components.td, {\n children: \"0.0000005\"\n }), _jsx(_components.td, {\n children: \"0.0000015\"\n }), _jsx(_components.td, {\n children: \"0.0032\"\n })]\n }), _jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: \"GPT-3.5-16k\"\n }), _jsx(_components.td, {\n children: \"13600\"\n }), _jsx(_components.td, {\n children: \"2400\"\n }), _jsx(_components.td, {\n children: \"0.0000005\"\n }), _jsx(_components.td, {\n children: \"0.0000015\"\n }), _jsx(_components.td, {\n children: \"0.0104\"\n })]\n }), _jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: \"GPT-4o-mini-1k\"\n }), _jsx(_components.td, {\n children: \"800\"\n }), _jsx(_components.td, {\n children: \"200\"\n }), _jsx(_components.td, {\n children: \"0.00000015\"\n }), _jsx(_components.td, {\n children: \"0.0000006\"\n }), _jsx(_components.td, {\n children: \"0.00024\"\n })]\n }), _jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: \"GPT-4o-mini-2k\"\n }), _jsx(_components.td, {\n children: \"1600\"\n }), _jsx(_components.td, {\n children: \"400\"\n }), _jsx(_components.td, {\n children: \"0.00000015\"\n }), _jsx(_components.td, {\n children: \"0.0000006\"\n }), _jsx(_components.td, {\n children: \"0.00048\"\n })]\n }), _jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: \"GPT-4o-mini-4k\"\n }), _jsx(_components.td, {\n children: \"2800\"\n }), _jsx(_components.td, {\n children: \"1200\"\n }), _jsx(_components.td, {\n children: \"0.00000015\"\n }), _jsx(_components.td, {\n children: \"0.0000006\"\n }), _jsx(_components.td, {\n children: \"0.00114\"\n })]\n }), _jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: \"GPT-4o-mini-8k\"\n }), _jsx(_components.td, {\n children: \"5600\"\n }), _jsx(_components.td, {\n children: \"2400\"\n }), _jsx(_components.td, {\n children: \"0.00000015\"\n }), _jsx(_components.td, {\n children: \"0.0000006\"\n }), _jsx(_components.td, {\n children: \"0.00228\"\n })]\n }), _jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: \"GPT-4o-mini-16k\"\n }), _jsx(_components.td, {\n children: \"12800\"\n }), _jsx(_components.td, {\n children: \"3200\"\n }), _jsx(_components.td, {\n children: \"0.00000015\"\n }), _jsx(_components.td, {\n children: \"0.0000006\"\n }), _jsx(_components.td, {\n children: \"0.00384\"\n })]\n }), _jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: \"GPT-4o-mini-32k\"\n }), _jsx(_components.td, {\n children: \"28000\"\n }), _jsx(_components.td, {\n children: \"4000\"\n }), _jsx(_components.td, {\n children: \"0.00000015\"\n }), _jsx(_components.td, {\n children: \"0.0000006\"\n }), _jsx(_components.td, {\n children: \"0.0066\"\n })]\n }), _jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: \"GPT-4o-mini-64k\"\n }), _jsx(_components.td, {\n children: \"60000\"\n }), _jsx(_components.td, {\n children: \"4000\"\n }), _jsx(_components.td, {\n children: \"0.00000015\"\n }), _jsx(_components.td, {\n children: \"0.0000006\"\n }), _jsx(_components.td, {\n children: \"0.0114\"\n })]\n }), _jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: \"GPT-4o-1k\"\n }), _jsx(_components.td, {\n children: \"800\"\n }), _jsx(_components.td, {\n children: \"200\"\n }), _jsx(_components.td, {\n children: \"0.0000025\"\n }), _jsx(_components.td, {\n children: \"0.00001\"\n }), _jsx(_components.td, {\n children: \"0.004\"\n })]\n }), _jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: \"GPT-4o-2k\"\n }), _jsx(_components.td, {\n children: \"1600\"\n }), _jsx(_components.td, {\n children: \"400\"\n }), _jsx(_components.td, {\n children: \"0.0000025\"\n }), _jsx(_components.td, {\n children: \"0.00001\"\n }), _jsx(_components.td, {\n children: \"0.008\"\n })]\n }), _jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: \"GPT-4o-4k\"\n }), _jsx(_components.td, {\n children: \"2800\"\n }), _jsx(_components.td, {\n children: \"1200\"\n }), _jsx(_components.td, {\n children: \"0.0000025\"\n }), _jsx(_components.td, {\n children: \"0.00001\"\n }), _jsx(_components.td, {\n children: \"0.019\"\n })]\n }), _jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: \"GPT-4o-8k\"\n }), _jsx(_components.td, {\n children: \"5600\"\n }), _jsx(_components.td, {\n children: \"2400\"\n }), _jsx(_components.td, {\n children: \"0.0000025\"\n }), _jsx(_components.td, {\n children: \"0.00001\"\n }), _jsx(_components.td, {\n children: \"0.038\"\n })]\n }), _jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: \"GPT-4o-16k\"\n }), _jsx(_components.td, {\n children: \"12800\"\n }), _jsx(_components.td, {\n children: \"3200\"\n }), _jsx(_components.td, {\n children: \"0.0000025\"\n }), _jsx(_components.td, {\n children: \"0.00001\"\n }), _jsx(_components.td, {\n children: \"0.064\"\n })]\n }), _jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: \"GPT-4o-32k\"\n }), _jsx(_components.td, {\n children: \"28000\"\n }), _jsx(_components.td, {\n children: \"4000\"\n }), _jsx(_components.td, {\n children: \"0.0000025\"\n }), _jsx(_components.td, {\n children: \"0.00001\"\n }), _jsx(_components.td, {\n children: \"0.11\"\n })]\n }), _jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: \"GPT-4o-64k\"\n }), _jsx(_components.td, {\n children: \"60000\"\n }), _jsx(_components.td, {\n children: \"4000\"\n }), _jsx(_components.td, {\n children: \"0.0000025\"\n }), _jsx(_components.td, {\n children: \"0.00001\"\n }), _jsx(_components.td, {\n children: \"0.19\"\n })]\n }), _jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: \"GPT-4-1106-1k\"\n }), _jsx(_components.td, {\n children: \"800\"\n }), _jsx(_components.td, {\n children: \"200\"\n }), _jsx(_components.td, {\n children: \"0.00001\"\n }), _jsx(_components.td, {\n children: \"0.00003\"\n }), _jsx(_components.td, {\n children: \"0.014\"\n })]\n }), _jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: \"GPT-4-1106-2k\"\n }), _jsx(_components.td, {\n children: \"1600\"\n }), _jsx(_components.td, {\n children: \"400\"\n }), _jsx(_components.td, {\n children: \"0.00001\"\n }), _jsx(_components.td, {\n children: \"0.00003\"\n }), _jsx(_components.td, {\n children: \"0.028\"\n })]\n }), _jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: \"GPT-4-1106-4k\"\n }), _jsx(_components.td, {\n children: \"2800\"\n }), _jsx(_components.td, {\n children: \"1200\"\n }), _jsx(_components.td, {\n children: \"0.00001\"\n }), _jsx(_components.td, {\n children: \"0.00003\"\n }), _jsx(_components.td, {\n children: \"0.064\"\n })]\n }), _jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: \"GPT-4-0125-8k\"\n }), _jsx(_components.td, {\n children: \"5600\"\n }), _jsx(_components.td, {\n children: \"2400\"\n }), _jsx(_components.td, {\n children: \"0.00001\"\n }), _jsx(_components.td, {\n children: \"0.00003\"\n }), _jsx(_components.td, {\n children: \"0.128\"\n })]\n }), _jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: \"GPT-4-1106-16k\"\n }), _jsx(_components.td, {\n children: \"12800\"\n }), _jsx(_components.td, {\n children: \"3200\"\n }), _jsx(_components.td, {\n children: \"0.00001\"\n }), _jsx(_components.td, {\n children: \"0.00003\"\n }), _jsx(_components.td, {\n children: \"0.224\"\n })]\n }), _jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: \"GPT-4-1106-32k\"\n }), _jsx(_components.td, {\n children: \"28000\"\n }), _jsx(_components.td, {\n children: \"4000\"\n }), _jsx(_components.td, {\n children: \"0.00001\"\n }), _jsx(_components.td, {\n children: \"0.00003\"\n }), _jsx(_components.td, {\n children: \"0.4\"\n })]\n }), _jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: \"GPT-4-1106-64k\"\n }), _jsx(_components.td, {\n children: \"60000\"\n }), _jsx(_components.td, {\n children: \"4000\"\n }), _jsx(_components.td, {\n children: \"0.00001\"\n }), _jsx(_components.td, {\n children: \"0.00003\"\n }), _jsx(_components.td, {\n children: \"0.72\"\n })]\n })]\n })]\n }), \"\\n\", _jsx(Heading, {\n level: \"2\",\n id: \"byok-for-white-label-commercial-partners\",\n children: \"BYOK for white-label commercial partners\"\n }), \"\\n\", _jsx(_components.p, {\n children: \"In addition to the costs for MC expenditures during LLM queries, you also need to pay to run our AI multi-agent framework using your\\nown API key. This is independent of whether your users have supplied their API key for their personal accounts. Since the official GPT-trainer\\nsubsidizes its users for all costs associated with running the AI framework, your white-label solution must operate with this premise\\nas well.\"\n }), \"\\n\", _jsx(_components.p, {\n children: \"There are three separate workflows that require your own API key to cover your user’s AI expenditures. The conditions under which they apply\\nare listed below.\"\n }), \"\\n\", _jsxs(_components.ol, {\n children: [\"\\n\", _jsx(_components.li, {\n children: \"AI Agent intent generation\"\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsx(_components.p, {\n children: \"Applicable if two or more AI Agents are connected\"\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsx(_components.p, {\n children: \"Charged whenever a new user-facing AI Agent goes live or an existing one is edited\"\n }), \"\\n\"]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.ol, {\n children: [\"\\n\", _jsx(_components.li, {\n children: \"Query intent classification\"\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsx(_components.p, {\n children: \"Applicable if two or more user-facing Agents are connected\"\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsx(_components.p, {\n children: \"Charged on a per query basis\"\n }), \"\\n\"]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.ol, {\n children: [\"\\n\", _jsx(_components.li, {\n children: \"Variable extraction\"\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsx(_components.p, {\n children: \"Applicable if AI Agent has one or more variables set up\"\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsx(_components.p, {\n children: \"Charged on a per query basis\"\n }), \"\\n\"]\n }), \"\\n\"]\n }), \"\\n\", _jsx(_components.p, {\n children: \"The estimated costs associated with each workflow is as follows:\"\n }), \"\\n\", _jsxs(_components.table, {\n children: [_jsx(_components.thead, {\n children: _jsxs(_components.tr, {\n children: [_jsx(_components.th, {\n children: \"Workflow\"\n }), _jsx(_components.th, {\n children: \"Average Estimated Input\"\n }), _jsx(_components.th, {\n children: \"Average Estimated Output\"\n }), _jsx(_components.th, {\n children: \"Cost / Input Token\"\n }), _jsx(_components.th, {\n children: \"Cost / Output Token\"\n }), _jsx(_components.th, {\n children: \"Estimated Cost per Run\"\n })]\n })\n }), _jsxs(_components.tbody, {\n children: [_jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: \"AI Agent intent generation (gpt-4-1106-preview)\"\n }), _jsx(_components.td, {\n children: \"600\"\n }), _jsx(_components.td, {\n children: \"450\"\n }), _jsx(_components.td, {\n children: \"0.00001\"\n }), _jsx(_components.td, {\n children: \"0.00003\"\n }), _jsx(_components.td, {\n children: \"0.0011\"\n })]\n }), _jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: \"Query intent classification (gpt-3.5-turbo-1106)\"\n }), _jsx(_components.td, {\n children: \"1000\"\n }), _jsx(_components.td, {\n children: \"50\"\n }), _jsx(_components.td, {\n children: \"0.000001\"\n }), _jsx(_components.td, {\n children: \"0.000002\"\n }), _jsx(_components.td, {\n children: \"0.0195\"\n })]\n }), _jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: \"Variables extraction (gpt-3.5-turbo-1106)\"\n }), _jsx(_components.td, {\n children: \"1000\"\n }), _jsx(_components.td, {\n children: \"100\"\n }), _jsx(_components.td, {\n children: \"0.000001\"\n }), _jsx(_components.td, {\n children: \"0.000002\"\n }), _jsx(_components.td, {\n children: \"0.0012\"\n })]\n })]\n })]\n }), \"\\n\", _jsx(_components.p, {\n children: \"All costs from the above workflow will be charged directly against your own API key. This cost cannot be transferred onto your clients.\"\n }), \"\\n\", _jsx(_components.p, {\n children: \"There may be more AI features in the future that require using your own API key. We will update the documentation as needed to help you plan ahead.\\nHowever, in general, these extra API costs should be fairly negligible in comparison to AI costs associated with Message Credit expenditures.\"\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\nfunction _missingMdxReference(id, component) {\n throw new Error(\"Expected \" + (component ? \"component\" : \"object\") + \" `\" + id + \"` to be defined: you likely forgot to import, pass, or provide it.\");\n}\n","frontmatter":{},"scope":{"mintConfig":{"$schema":"https://mintlify.com/schema.json","name":"GPT-trainer API","logo":{"light":"https://mintlify.s3.us-west-1.amazonaws.com/paladinmaxinc/logo/light.svg","dark":"https://mintlify.s3.us-west-1.amazonaws.com/paladinmaxinc/logo/dark.svg"},"favicon":"/logo/favicon.png","api":{"baseUrl":"https://app.gpt-trainer.com/api","auth":{"method":"bearer"}},"colors":{"primary":"#2E3F51","light":"#516F90","dark":"#0D001D","background":{"dark":"#111827"},"anchors":{"from":"#ED727B","to":"#F6B7BB"}},"topbarLinks":[{"url":"mailto:hello@gpt-trainer.com","name":"Support","_id":"676a0adaff1411a490c729a2"}],"navigation":[{"group":"Getting Started","pages":["introduction"]},{"group":"Guides","pages":["creating-first-chatbot","lead-collection","human-support-escalation","inbox-notifications","conversation-labeling","multi-agents-chatbot","fine-tuning-agent-intents","supervisor-overrides","byok-pricing-guide","working-with-tables","best-practices","help"]},{"group":"Function Calling","pages":["rag-from-external-data-provider"]},{"group":"API Usage Guides","pages":["api-reference/api-key-setup","api-reference/guide-00-chatbot-create","api-reference/guide-01-chat","api-reference/guide-02-source"]},{"group":"Authentication Webhook","pages":["user-identity"]},{"group":"Chatbots","pages":["api-reference/chatbots/properties-reference","api-reference/chatbots/create","api-reference/chatbots/update","api-reference/chatbots/fetch","api-reference/chatbots/fetch_multi","api-reference/chatbots/delete"]},{"group":"Agents","pages":["api-reference/agents/properties-reference","api-reference/agents/create","api-reference/agents/update","api-reference/agents/fetch_multi","api-reference/agents/delete"]},{"group":"Chatbot Sessions","pages":["api-reference/sessions/properties-reference","api-reference/sessions/create","api-reference/sessions/fetch","api-reference/sessions/fetch_multi","api-reference/sessions/delete","api-reference/sessions/delete_multi"]},{"group":"Session Messages","pages":["api-reference/messages/properties-reference","api-reference/messages/create","api-reference/messages/fetch_multi","api-reference/messages/delete","api-reference/messages/delete_multi"]},{"group":"Data Sources","pages":["api-reference/data-sources/properties-reference","api-reference/data-sources/create-file","api-reference/data-sources/create-qa","api-reference/data-sources/create-url","api-reference/data-sources/update","api-reference/data-sources/fetch_multi","api-reference/data-sources/retrain","api-reference/data-sources/delete","api-reference/data-sources/delete_multi"]},{"group":"Data Source Tags","pages":["api-reference/source-tags/create","api-reference/source-tags/fetch-multi","api-reference/source-tags/update","api-reference/source-tags/delete"]},{"group":"Tool Guides","pages":["tools/tools-intro"]},{"group":"Tools","pages":["tools/weekday"]},{"group":"Whitelabel Dashboard","pages":["whitelabel/whitelabel-intro","whitelabel/whitelabel-plans","whitelabel/whitelabel-users"]},{"group":"Integrations","pages":["whitelabel/whitelabel-zapier","whitelabel/whitelabel-make","whitelabel/whitelabel-meta"]}],"primaryTab":{"name":"Documentation"},"anchors":[{"name":"API References","url":"api-reference","icon":"code","_id":"676a0adaff1411a490c7299f"},{"name":"Tools","url":"tools","icon":"gear","_id":"676a0adaff1411a490c729a0"},{"name":"Whitelabel","url":"whitelabel","icon":"browser","_id":"676a0adaff1411a490c729a1"}],"repo":{"github":{"owner":"ks-collab","repo":"gpt-trainer-docs","contentDirectory":"","deployBranch":"main","isPrivate":false}}},"pageMetadata":{"title":"Bring Your Own Key (BYOK) and Pricing","description":null,"href":"/byok-pricing-guide"}}}},"__N_SSG":true},"page":"/_sites/[subdomain]/[[...slug]]","query":{"subdomain":"guide.gpt-trainer.com","slug":["byok-pricing-guide"]},"buildId":"pChs_9tFT1YAEINLWWPhQ","isFallback":false,"isExperimentalCompile":false,"gsp":true,"scriptLoader":[]}</script>
<!-- Mirrored from guide.gpt-trainer.com/byok-pricing-guide by HTTrack Website Copier/3.x [XR&CO'2014], Tue, 07 Jan 2025 14:53:24 GMT -->
</html></body></html>