Write your posts with OpenAI

Posting every day falls apart when there's no time to write. Threadgehog drafts the posts for you, in your brand voice, and it can use your own OpenAI API key to do it. That key comes from the OpenAI API platform, separate from ChatGPT, and OpenAI bills you for what you use. Already pay for ChatGPT Plus or Pro? From Threadgehog 1.1 you can write with that plan through Codex instead; see the ChatGPT plan guide. Prefer a different provider? Threadgehog also works with Anthropic, Google Gemini, xAI Grok, Moonshot Kimi and OpenRouter (one account that covers several of those).

How to set up OpenAI

  1. Create an OpenAI API key

    Go to platform.openai.com/api-keys, sign in (or create an OpenAI account), and create a new API key. Copy it and keep it somewhere safe until step 3. Inside Threadgehog, the "Where do I get a key?" link under the OpenAI card opens the same page.

  2. Add credit to your OpenAI API account

    OpenAI charges API usage against credit on your API account. Add credits in your billing settings at platform.openai.com/settings/organization/billing. With no credit left, OpenAI refuses requests with "Credit balance exhausted" and the connection test in step 4 fails. A ChatGPT subscription doesn't include API access, so it doesn't count toward this.

  3. Paste the key into Threadgehog

    In Threadgehog, open Settings (Cmd+,) and click the "AI" tab. Click "Use my own AI key", then select the "OpenAI" card under "Writing provider", paste the key into the "Paste API key" field, and click "Save key". Threadgehog stores it in your Mac's Keychain, and the card then shows "Saved in Keychain". During first-run setup, the same card appears on the "Connect your AI." step.

    Use my own AI key selected and the OpenAI card chosen, with the Model menu on GPT-5.5, the API key field and the Save key button
  4. Check the connection test

    Saving the key starts the connection test automatically. To run it again, click "Test connection". Threadgehog sends a short test request through its server to OpenAI, and on success shows a line like "Connected to gpt-5.5 in [x] s". The same request checks your Threadgehog license, so a license message can show up here too. The button stays disabled until a provider is selected and a key is saved.

    Use my own AI key selected and the OpenAI card chosen, on GPT-5.5, with Saved in Keychain and Connected to gpt-5.5 in 1.4 s
  5. Make your images with the same key (optional)

    Open Settings, then the "Images" tab, choose the "Use an API key" card, and pick "OpenAI" in the "Image provider" menu. Setup's "Add images to your posts?" step shows the same cards. Until an image key is in place, the Queue header shows a "Connect images" chip that opens this tab. If OpenAI already writes your posts and you haven't picked an image provider or saved a Replicate token, Threadgehog makes this switch for you once, when it next loads your image settings: at launch, right after the setup connection test passes, or when you open this tab. The key section then reads "Using your OpenAI key from Settings > AI." and there is nothing to paste. Pick a model under "Model" (GPT Image 2.5 Flare is preselected and marked "(default)"); the status line below the key section reads "Connected" once a key is in place.

    Settings, Images tab, with OpenAI as the image provider and its default model

What you get

  • Post drafts written by GPT-5.5, the one OpenAI writing model Threadgehog offers.
  • OpenAI bills your API account directly for what Threadgehog uses. Threadgehog doesn't resell or mark up OpenAI usage; your Threadgehog license or trial is separate.
  • Switch to Anthropic, Google Gemini, xAI Grok, Moonshot Kimi or OpenRouter any time in Settings, AI tab. Your saved OpenAI key stays in Keychain for when you switch back.
  • With image suggestions on (Project settings > Advanced), the same key writes each post's image idea, and can make the image itself too: pick "OpenAI" under "Image provider" (a fresh install already defaults to it there once OpenAI is your writing provider and no image provider is chosen yet). OpenAI's image models, GPT Image 2.5 Flare, GPT Image 2 and GPT Image 1 mini, are separate from GPT-5.5 and priced per image, not per token.

What it costs

OpenAI bills you directly for API usage. On October 1, 2026, OpenAI's pricing page listed GPT-5.5, the model Threadgehog sends, at $5.00 per million input tokens and $30.00 per million output tokens (standard rate, under 272K tokens of context). Prices can change, so check OpenAI's pricing page, linked below, before you connect. Usage is paid from credit on your API account: when the balance runs out, OpenAI refuses requests until you add credits. Your Threadgehog license or trial is billed separately from OpenAI. If you also pick OpenAI as your image provider (Settings, Images tab), the "Model" menu shows Threadgehog's ballpark price next to each image model: about $0.03 per image for GPT Image 2.5 Flare (the default), about $0.05 for GPT Image 2, and about $0.01 for GPT Image 1 mini, which the menu notes is the cheapest and retiring Dec 1. Those figures are Threadgehog's own estimate; OpenAI bills the call at its own current rate, so check OpenAI's pricing page for the number that applies. Once images are connected, the Queue header shows your estimated image spend. Click it to enter your real OpenAI balance, which then counts down by that estimate, or click "Open OpenAI billing" to top up.

Your key and your data

Threadgehog stores your OpenAI key in your Mac's Keychain (service "Threadgehog Public", account "openai") and never writes it to its own files. Each time Threadgehog asks OpenAI for text, such as a draft, an image idea or a connection test, the key travels with that one request to Threadgehog's generation server at api.threadgehog.com, which passes it to OpenAI for that call. Threadgehog's privacy page says the server doesn't save your key and its logs never hold it. To revoke the key, delete it at platform.openai.com/api-keys. To stop Threadgehog from writing with it, select a different provider or save a different key in Settings, AI tab. If OpenAI also makes your images, pick a different provider under "Image provider" in Settings, Images tab too, since that tab reads the same key. To delete the stored copy, open Keychain Access, find the "Threadgehog Public" item whose account is "openai", and delete only that one: the other "Threadgehog Public" items hold your license and your other connections. The same Keychain entry (account "openai") backs both writing and images, so one saved key covers both; Threadgehog only reads it for images once you pick OpenAI as the Image provider in Settings, Images tab. Image requests skip Threadgehog's server: the app on your Mac sends the key straight to api.openai.com with each image request.

Limits to know

  • One OpenAI writing model only: GPT-5.5.
  • One AI provider writes at a time. Selecting a different provider in Settings, AI tab, moves writing to it; your saved OpenAI key stays in Keychain.
  • A ChatGPT Plus or Pro plan isn't an API key and can't be pasted here. To write with your plan instead, pick Use my Claude or ChatGPT subscription in Settings > AI (Threadgehog 1.1 and later); the ChatGPT plan guide has the steps.
  • OpenAI's image models, GPT Image 2.5 Flare, GPT Image 2 and GPT Image 1 mini, are separate from GPT-5.5 and billed per image. Picking OpenAI for writing doesn't turn images on by itself: pick "OpenAI" under "Image provider" in Settings, Images tab, unless the one-time first-run default already did it.
  • Save a new key any time to replace the old one; Keychain Access removes a saved key from your Mac.
  • Editing a generated image with feedback (the "Regenerate" box) makes a new image from your prompt plus the note. It doesn't edit the existing picture pixel by pixel the way Replicate's image-editing model does.

Troubleshooting

"Your AI provider refused this: [OpenAI's reply] Check your plan and billing on their site, then try again."

Why: OpenAI turned the request down, or Threadgehog's server couldn't reach OpenAI. The middle part is OpenAI's own reply, cut to 300 characters, with anything that looks like a key hidden. OpenAI's error codes page lists the common replies: "Incorrect API key provided" (wrong or revoked key), "Credit balance exhausted" (no credit), "Rate limit reached for requests", "Country, region, or territory not supported" and "Model temporarily overloaded".

Fix: Match the middle part. Wrong key: create a new one at platform.openai.com/api-keys and save it again. No credit: add credits; after a failed test, the "Open OpenAI billing" link next to the message opens platform.openai.com/settings/organization/billing. Rate limit or overloaded: wait a minute and try again. Country or region: see OpenAI's supported countries page. Anything else: email support@threadgehog.com with the full message.

"Save your API key in Settings, then try again."

Why: OpenAI is selected, but no OpenAI key is saved in Keychain (or it was deleted in Keychain Access).

Fix: Open Settings, AI tab, select the "OpenAI" card, paste the key, and click "Save key".

"Connect an AI in Settings."

Why: No AI provider is selected yet.

Fix: Open Settings, AI tab, and select the "OpenAI" card.

"Enter a license key to write or publish. Your queue stays visible."

Why: Test connection and all writing need an active Threadgehog license or trial on this Mac.

Fix: Open Settings, "License" tab, enter your license key, then test the connection again.

"Threadgehog could not send that. Update to the latest version, then try again."

Why: Threadgehog's server rejected the request as malformed. For the key, that happens when the saved key is shorter than 8 or longer than 500 characters, for example a partial paste or extra text copied with it. An outdated copy of Threadgehog causes it too.

Fix: Copy the key again from platform.openai.com/api-keys with nothing around it, paste it, and click "Save key". If the message stays, update Threadgehog to the latest version.

"empty-response"

Why: The test request came back with no text.

Fix: Click "Test connection" again. If it repeats, confirm your OpenAI account has credit and try again in a few minutes. If it still repeats, email support@threadgehog.com.

"Threadgehog could not reach the writing service. Check your internet and try again. Your posts and queue still work offline; writing and publishing need the service."

Why: Threadgehog couldn't reach its own server at api.threadgehog.com, or the request timed out. This is not an OpenAI problem.

Fix: Check your internet connection and try again.

"You have hit the limit for now. Try again in about [x] minutes." (or "Try again in a few minutes.")

Why: Threadgehog's own server limit, not OpenAI's.

Fix: Wait the stated time, then try again.

"Something went wrong on our side. Try again in a minute."

Why: Threadgehog's server hit an error.

Fix: Wait a minute and try again. If it keeps happening, email support@threadgehog.com.

"Couldn’t save the key: [reason]"

Why: macOS Keychain refused to store the key. The reason after the colon comes from macOS.

Fix: Click "Save key" again, and allow access if macOS asks about the keychain. If it keeps failing, email support@threadgehog.com with the full message.

"Couldn’t save the provider: [reason]" or "Couldn’t disconnect the previous provider: [reason]"

Why: Threadgehog couldn't write or remove its small settings file that records which provider and model you picked. The key itself isn't in that file.

Fix: Quit and reopen Threadgehog, then select the "OpenAI" card again. If it repeats, email support@threadgehog.com with the full message.

"Test connection" stays grayed out

Why: The button only works once a provider is selected, a model is set, and a key is saved.

Fix: Make sure "OpenAI" is selected, the model menu shows "GPT-5.5" (the only option), and the card shows "Saved in Keychain", then test.

"Image provider rejected the key. Check Settings > Images."

Why: OpenAI turned down the key saved for images: it was mistyped, deleted, disabled, or doesn't have image access.

Fix: Open Settings, Images tab, click "Replace key", and save a working key.

"Add an image provider in Settings > Images first."

Why: No image provider key is saved. This can show up on "Regenerate" or "New image" for a post that already has a generated image, even though "Generate image" itself stays hidden until a key exists.

Fix: Open Settings, Images tab, pick a provider, and save or connect its key.

Orange banner: "You're out of OpenAI credit, so AI images can't be generated. Add credits to start again."

Why: OpenAI's image API reports your account has no credit left.

Fix: Click "Add credits" in the banner, or go to platform.openai.com/settings/organization/billing, then generate again.

"OpenAI is rate limiting image requests. Try again in a minute."

Why: OpenAI is throttling image requests. Threadgehog already retries a rate limit automatically, up to 3 times, 12 seconds apart, before showing this.

Fix: Wait a minute and try again.

"OpenAI [status]: [the first 200 characters of its reply]"

Why: OpenAI's image API returned an error Threadgehog doesn't otherwise recognize.

Fix: Read the message for the reason. If it keeps happening, email support@threadgehog.com with the full text.

"OpenAI: no response"

Why: Threadgehog couldn't reach OpenAI's image service, usually because your Mac is offline.

Fix: Check your internet connection, then click "Generate image", "Regenerate" or "New image" again.

Settings, Images tab has no "Image provider" menu

Why: This copy of Threadgehog predates image providers. It can only make images with a Replicate token.

Fix: Choose Threadgehog > Check for Updates…, install the update, then open Settings, Images tab again.

Questions

Can I use my ChatGPT Plus or Pro subscription instead of an API key?

Yes, from Threadgehog 1.1, through Codex. In Settings > AI, pick Use my Claude or ChatGPT subscription, then ChatGPT subscription (Plus or Pro). Threadgehog runs Codex on your Mac, signed in to your plan, and drafts count toward your plan's usage limits. The ChatGPT plan guide has the setup. With neither a key nor a ChatGPT plan, every Threadgehog plan already includes Threadgehog AI drafts.

Do I need to add credit before the key works?

Yes. OpenAI charges API usage against credit on your API account. With no credit, OpenAI refuses requests ("Credit balance exhausted") and Test connection in Threadgehog fails. Add credits at platform.openai.com/settings/organization/billing.

How much does OpenAI charge for GPT-5.5?

On October 1, 2026, OpenAI's pricing page listed GPT-5.5 at $5.00 per million input tokens and $30.00 per million output tokens (standard rate, under 272K tokens of context). Prices can change, so check that page for the current rate. OpenAI bills those charges to your API account; your Threadgehog license is separate.

Is my OpenAI key safe?

Threadgehog keeps it in your Mac's Keychain and never writes it to its own files. When Threadgehog writes, the key goes with that one request to Threadgehog's generation server, which passes it to OpenAI. Threadgehog's privacy page says the server doesn't save your key and its logs never hold it.

Can I switch from OpenAI to a different provider later?

Yes. Open Settings, AI tab, and select a different provider card. One provider writes at a time, but keys you've saved for other providers stay in Keychain, so switching back doesn't mean pasting them again.

Why are some of my posts labeled OpenAI?

In Pending and Published, Threadgehog labels posts written with your OpenAI key "OpenAI." They were written through your OpenAI API key and billed to your API account.

Does my OpenAI key make the images too?

It can. Pick "OpenAI" under "Image provider" in Settings, Images tab (a fresh install already defaults to it there once OpenAI is your writing provider and no image provider is chosen yet). OpenAI's image models, GPT Image 2.5 Flare, GPT Image 2 and GPT Image 1 mini, are priced per image: the Model menu shows about $0.03, $0.05 and $0.01. You can pick a different image provider any time.

Why does Threadgehog show one general error instead of telling me exactly what's wrong?

When OpenAI turns a request down, Threadgehog shows one sentence with OpenAI's own reply in the middle. Read that middle part, or match it against the troubleshooting table above, to tell a key, credit or region problem apart.

Which GPT model does Threadgehog use?

GPT-5.5 for writing. It's the only OpenAI writing model Threadgehog offers. If you pick OpenAI under "Image provider" in Settings, Images tab, images use OpenAI's separate image models: GPT Image 2.5 Flare (the default), GPT Image 2 or GPT Image 1 mini.

Other guides