Skip to main content
SideNote Pro
  • Features
  • Guide
  • Tips
  • Pricing
  • FAQ
  • Contact
  • Features
  • Guide
  • Tips
  • Pricing
  • FAQ
  • Contact
Home/Guide

How to use your OpenAI API key in a Windows desktop app

An OpenAI API key is a credential, not a programming project. SideNote Pro is a docked Windows AI client that uses it: paste the key once, and SideNote Pro sends requests directly from your machine to OpenAI. A new installation's Quick Setup leads with signing in to OpenRouter, and Use an OpenAI API key instead on the same screen is the OpenAI route; it stays available in Settings afterwards, and manual provider profiles let you choose other models. OpenAI bills API usage separately from ChatGPT. If you would rather not handle a key at all, connect OpenRouter in your browser.

On this page

  1. What you need
  2. A ChatGPT subscription is not API access
  3. Creating an API key
  4. Connecting the key to SideNote Pro
  5. Test & Load models, and what it tells you
  6. The first thing worth doing with it
  7. What SideNote Pro actually sends
  8. Understanding what you will be charged
  9. The same steps for another provider

What you need

Windows 11 x64
That is what SideNote Pro runs on. The 30-day trial is the complete application, so you can do all of this before buying a licence.
An OpenAI account on the developer platform
That is where API keys are issued. If you already sign in to OpenAI, it is the same account.
API credit on it
OpenAI bills API use separately from anything else you may pay them, and it runs on prepaid credit rather than an invoice.
Nothing else
No SDK, no Python, no terminal, and no key in an environment variable. The key goes into one field, in the quick setup or in Settings.

Ten minutes is a fair estimate for all of it, and most of that is on OpenAI's side rather than in SideNote Pro.

A ChatGPT subscription is not API access

ChatGPT and the OpenAI API are two products behind one account, and they are billed separately. A ChatGPT subscription does not include API credit.

The two sides of an OpenAI account
ChatGPTThe OpenAI API
What it isOpenAI's own chat product, in a browser and its appsThe interface other applications call
Where you use itchatgpt.comAny application you point at it, including SideNote Pro
How it is paid forA subscription, if you have onePrepaid credit, drawn down per token used
Does it pay for the otherNoNo

So a ChatGPT Plus subscription includes no API credit, and API credit does not pay for ChatGPT. What SideNote Pro needs is the right-hand column: a key, and credit behind it.

Creating an API key

  1. Sign in to the OpenAI developer platformThe developer platform, not chatgpt.com. It is the same sign-in if you already have an account.
  2. Add a payment method and some credit, and set a spending limitDo the limit now rather than later. A hard cap in the provider dashboard is the only limit that is authoritative, because it is the only one that sees every application using that key.
  3. Create a secret keyAt platform.openai.com/api-keys. Copy it immediately, and name it for where it will live: a secret key is typically shown once and never again.

Treat the key like a password with a credit card attached, because functionally it is one. Do not paste it into a chat, a screenshot, a support ticket or a repository. If a key is ever exposed, revoke it in the provider dashboard and issue a new one; that costs nothing.

Settings › Setup guide

The in-app Setup guide, steps one to three. Step one, Create an OpenAI API key, links to OpenAI API keys. Step two, Add the OpenAI provider, has a worked example listing Provider OpenAI, Base URL https://api.openai.com/v1, Model gpt-6-luna, Reasoning None and Paste your secret key, above the Open AI provider settings and Browse OpenAI models buttons. Step three, Load and choose a model, says to select Test and Load models, then pick gpt-6-luna, and notes that not every provider publishes a model list.
The built-in Setup guide has the OpenAI values already filled in and opens the provider editor from one button. Its worked example pairs a low-cost model, gpt-6-luna, with reasoning effort on None, the fast everyday setup covered in full in Tips. Step three then loads the models your key can reach and has you pick gpt-6-luna.

Connecting the key to SideNote Pro

On a new installation: Quick Setup

Start the trial, and SideNote Pro shows a Set up SideNote Pro screen. It leads with Connect with OpenRouter, which signs in through your browser and needs no key from you. For OpenAI, open Use an OpenAI API key instead on the same screen: it asks for exactly one thing, your OpenAI API key. There is nothing to choose about providers, endpoints or models.

  1. Paste the keyIf you have not created one yet, Create API key in that section opens OpenAI's key page, and Open OpenAI billing is just below it for an account that has never used the API.
  2. Select Connect & continueSideNote Pro asks OpenAI for its model list with your key, the same request Test & Load models sends. Nothing is saved unless that succeeds.
  3. Select Start using SideNoteThe profile is created, the key is stored encrypted for your Windows account, and the model picker is ready with the chat-capable models from OpenAI's list.

The result is the profile in the table below, on gpt-6-luna with reasoning effort on None, and it is an ordinary one: nothing ties it to Quick Setup, and every field stays editable. If OpenAI rejects the key or cannot be reached, the screen says so in a short explanation and saves nothing. If the key cannot use gpt-6-luna, it offers manual setup instead of quietly switching you to another model.

Quick Setup from Settings, at any time

Quick Setup, at the top of Settings › AI providers, opens the same guided setup whenever you want it, with the OpenAI route under Use an OpenAI API key instead: after you skipped it, chose manual setup, or set up another provider first. Where a provider is already configured, it adds a new profile and leaves every existing profile, endpoint, model, key and your default provider as it was. The new profile becomes your default only if you tick Use this provider by default.

Until a key is in place, a Finish AI setup note above the message box says your provider still needs one, in every conversation, with AI providers and, unless you chose to set things up yourself, Quick Setup. Sending without a key sends nothing and keeps your message and attachments where they are.

By hand, or for another profile

Quick Setup appears by itself only on a new installation. Configure the profile by hand if you chose I'll set it up manually, want to choose the model and settings yourself, or want a second OpenAI profile on a different model.

  1. Open Settings, then AI providersAdd a profile, and choose OpenAI from the Provider list at the top of the editor.
  2. Paste your OpenAI API keyThe endpoint is already filled in, so the key is the only value you have to supply.
  3. Select Test & Load modelsIt confirms the key reaches OpenAI, discovers the models your account can use, and shows chat-capable ones in the Model picker by default.
  4. Pick a model, or type its IDOpen the list, type to filter it, or enter an ID yourself. Both routes produce the same profile.
  5. Save the profileCtrl+S, or the footer action. Leave Context window on Auto unless you have a reason not to.

Settings › AI providers

SideNote Pro OpenAI settings with GPT-6 Luna selected: Provider set to OpenAI, Profile name empty and showing the OpenAI placeholder, Model gpt-6-luna, Base URL https://api.openai.com/v1, a masked API key with a Remove API key button, Reasoning effort set to None, Context window on Auto with Default context size: 128k beneath it, and a Test and Load models button.
A finished OpenAI profile on gpt-6-luna, the model new profiles start on: the provider chosen, the endpoint filled in by that choice, the model in Model and a saved key. A key is never shown again once saved, so the field renders as dots and Remove API key is how you clear it rather than selecting the text. Reasoning effort reads None, which is where a new OpenAI profile starts, for the reason just below.
What a finished OpenAI profile holds
FieldValue
ProviderOpenAI
Profile nameOpenAI, or whatever you will recognise in the composer
Base URLFilled in for you: https://api.openai.com/v1
Modelgpt-6-luna, or anything your account can reach
API keyYour own secret key
Reasoning effortNone, where a new OpenAI profile starts. Provider default for a model that does not document none
Context windowAuto

The base URL is printed here as a reference value, not as something to type. It is also not fixed: if your requests go through a company gateway or a proxy, edit it and the rest of the profile works unchanged. Configuring any OpenAI-compatible provider covers that case properly.

gpt-6-luna is what a new OpenAI profile starts on, and it is a sensible everyday default rather than a ceiling. Test & Load models still discovers the provider's whole list, but the picker now shows conversational models by default so speech, transcription, embedding, moderation, realtime and video models do not crowd the list. Show all models in Settings reveals the rest. Choosing the right AI model covers how to pick between the conversational options.

The key sk-example-not-a-real-key is a placeholder. Real keys are issued only by your provider.

Reasoning effort, only as far as setup needs

One field on that profile is worth thirty seconds now, because the two settings people confuse are the two at the top of the list. None is what a new OpenAI profile starts on, and it is an instruction: it asks the model for no reasoning at all, which only means anything on a model that documents the value. Provider default is the cautious answer, and where profiles for other providers start: SideNote Pro leaves the reasoning_effort field out of the request entirely, and the model does whatever it does unprompted.

gpt-6-luna documents it, which is why a new profile starts on None: that is the fast everyday configuration set out in the low-cost GPT-6 Luna setup. If you switch to a model that does not document none, set the field to Provider default. Reasoning effort explained covers what each setting sends and when raising it is worth the wait.

Test & Load models, and what it tells you

The button does two jobs at once. It calls GET https://api.openai.com/v1/models with your key as a bearer token, which proves the endpoint and the key, and it discovers the model IDs that come back. On the built-in OpenAI, Anthropic, Gemini and DeepSeek presets, the searchable Model picker shows chat-capable models by default; Show all models reveals the non-chat entries. A pass still reports the provider's full discovery count.

It is a convenience rather than a gate. If you already know the model ID you want, type it into Model and send a message: nothing has to be discovered before it can be used.

What a failed test usually means
SymptomLikely cause
Credentials rejectedKey mistyped, revoked, or from a different account
Endpoint not foundBase URL missing the /v1 segment, or a trailing path added
Endpoint unreachableNo network, a proxy in the way, or a firewall rule
Rate limitedRequests are arriving faster than the provider allows
Provider account needs creditThe API account has no credit or has reached its billing limit
Model rejected on send but test passesThe key is fine; that specific model is not available to your account

A pass only proves the key reaches OpenAI. It does not prove the account has API credit, or that it can use a particular model for requests. Send something real before you trust the setup: press Ctrl+Shift+Space from anywhere, type a question, and watch the answer stream in. If a symptom above is not the one you have, troubleshooting covers the rest, including shortcuts that do not fire and attachments that are refused.

The first thing worth doing with it

Setup is finished; this is what it was for. Typing into the composer works, but it is the least interesting way to use a key on a desktop, because it still asks you to bring the text to the assistant. Selected-text actions reverse that.

  1. Select text in any Windows applicationA paragraph in Outlook, a stack trace in a terminal, a clause in a PDF viewer. Nothing is captured until you press an action shortcut.
  2. Press Ctrl+Shift+EExplain, one of five actions a new installation ships with. The selection goes to the OpenAI profile you just configured, with a fixed instruction attached to it.
  3. Read the answer beside the window you were inIt streams into the assistant on the edge of the display. Esc retracts it, and the application you were working in never lost focus for longer than the round trip.

The other four are Ask SideNote on Ctrl+Shift+A, which captures the selection and waits for your question instead of sending immediately, then Summarize, Rewrite and Translate. Custom ones turn an instruction you type repeatedly into a keystroke: AI actions on selected text covers building them.

What SideNote Pro actually sends

You never construct an HTTP request yourself. But knowing the shape helps enormously when you are debugging a compatible provider later, and it tells you which documentation applies.

Test & Load models
GET https://api.openai.com/v1/models
Authorization: Bearer sk-example-not-a-real-key
Generation, streamed
POST https://api.openai.com/v1/chat/completions
Authorization: Bearer sk-example-not-a-real-key
Content-Type: application/json

{
  "model": "gpt-6-luna",
  "stream": true,
  "messages": [ ... ]
}

The response comes back as Server-Sent Events, data: records terminated by [DONE], which is what lets text appear as it is generated rather than arriving in one block.

SideNote Pro uses Chat Completions, not the newer OpenAI Responses API. This trips people up because a lot of current documentation and blog writing has moved to Responses without saying which generation it means. If you are diagnosing a compatibility problem, Chat Completions is the contract that applies.

Also not currently used: tool calling, built-in web search, audio, video and image generation. SideNote Pro sends text and images and streams text back.

Understanding what you will be charged

API billing is per token, priced separately for input and output, and it varies by model. Provider prices change, and a stale number is worse than no number, so check your provider's own pricing page.

What you can do inside SideNote Pro is record those prices per profile and model in USD per million tokens, which turns the local ledger into meaningful estimates. See usage and cost tracking, and reducing your AI API costs for the habits that matter most.

The one-time SideNote Pro licence covers the Windows application. A hosted provider may charge for API usage separately; a local model has no API charge. See what a licence covers and what BYOK means.

Settings › AI providers › Model pricing

The Model pricing block: input and output price boxes in USD per million tokens, above the Use these prices, Clear pricing and Reset counters for this model buttons.
Prices are per model, not per profile, and they are yours to enter from your provider's pricing page. Responses already recorded keep the price that applied when they were sent, so correcting a rate later does not silently rewrite last month's estimate.

The same steps for another provider

Quick Setup covers OpenRouter and OpenAI. Every other provider takes the manual route above: choose a different entry in the Provider list, the endpoint changes with it, and the steps are the same, except that the model starts empty and reasoning effort starts on Provider default. Anthropic, Google Gemini and DeepSeek are hosted and each wants a key from its own console; all three publish a model list, so Test & Load models fills the picker on those profiles too, with non-chat models hidden by default. OpenRouter is hosted too, and has its own guide, including the browser sign-in. Supported AI providers lists what each choice starts from.

Ollama and LM Studio run on your own machine and usually need no key at all. Anything not in the list is a Custom OpenAI-compatible profile with its base URL and model ID typed in, which is a first-class route rather than a fallback: see configuring any OpenAI-compatible provider.

Keep reading

  • FeatureBring your own key (BYOK)Configure your own OpenAI-compatible endpoint, with a key if it requires one. Requests go directly there.
  • GuideChoosing an AI modelClassify the task first, then pick the model. A method, not a ranking.
  • GuideReasoning effortWhat the setting does, and how to decide the level per task.
  • GuideTroubleshootingDiagnose provider, shortcut, attachment and capture problems.
  • TipReduce API costsWhere BYOK spending actually goes, and how to bring it down.
SideNote Pro

A docked BYOK AI panel for Windows. Bring your own provider and model, and keep your conversation history on your own machine.

Product

  • Features
  • Pricing
  • Bring your own key
  • Windows AI sidebar
  • Local folder context
  • Local-first privacy

Guide

  • All guides
  • Getting started
  • OpenAI setup
  • Choosing a model
  • Troubleshooting

Resources

  • Updates
  • Tips and tricks
  • FAQ
  • BYOK and privacy
  • Reduce API costs
  • Contact
Developed by BediniLabs
  • Privacy
  • Security
  • Terms & Conditions
  • Contact
© 2026 BediniLabs