# Create and add an OpenAI API key

> Set up an OpenAI Platform key with API billing, and use it for AI editing or Pro Cloud transcription.
>
> Verified against the current RoughCut app on 28 August 2026
> https://www.roughcuteditor.com/docs/openai-api-key

An OpenAI key lets you run the AI editing pass on OpenAI instead of Gemini, and it is required for Pro Cloud transcription. Create a secret key on the OpenAI Platform and copy it immediately, because the full value is shown only once. Fund API usage separately: a ChatGPT subscription does not pay for API calls, so add prepaid credits or a payment method on the Platform account. Paste the key into RoughCut Settings, where it is saved to the macOS Keychain. Cloud transcription currently requires the whisper-1 model, because it is the model that returns the word-level timestamps the cut plan and SRT export depend on.

## Prerequisites

- An OpenAI Platform account at `platform.openai.com`. This is separate from a ChatGPT account even when you sign in with the same email.
- A payment method or prepaid credits **on the Platform account**.

> A ChatGPT Plus, Pro, or Team subscription does not fund API usage. API billing is entirely separate. This is the single most common reason a valid-looking key fails.

## Steps

1. Open the [OpenAI API keys page](https://platform.openai.com/api-keys) and sign in.
2. Create a new secret key and **copy it immediately**. OpenAI shows the full value only once; if you lose it, create another.
3. Set up API billing on the Platform account — add a payment method or prepaid credits. OpenAI's [prepaid billing guide](https://help.openai.com/en/articles/8264644-how-can-i-set-up-prepaid-billing) covers the current flow.
4. In RoughCut, open `Settings`. On the `Basic` tab (or `Full → LLM`) find `OpenAI API key`, paste the value, and click `Save`. RoughCut confirms it was saved to the Keychain.
5. **For AI editing on OpenAI:** set `LLM provider` to `openai`. Long transcripts are split into overlapping chunks and merged back automatically, so long videos work.
6. **For Cloud transcription (Pro):** leave the provider wherever you like and instead choose `✦ Cloud (OpenAI)` in the `Transcription` control on a job. The two settings are independent.
7. Test with a short clip before committing a long recording.

## Expected result

The `OpenAI API key` field shows a green confirmation with the value masked. Depending on what you set up, either the editing pass runs on OpenAI, or Cloud transcription becomes available on jobs.

## Cloud transcription needs whisper-1

Cloud transcription sends the job's audio to OpenAI's transcription endpoint and requires **word-level timestamps**, because RoughCut's cut plan and SRT export are both built from word times.

As of the current release, only `whisper-1` returns them. Newer transcription models do not, and RoughCut fails loudly rather than producing a broken cut:

```text
OpenAI model '<model>' returned a transcript without word timestamps, which the cut
pipeline and SRT export require. Per OpenAI's docs only 'whisper-1' supports word
timestamps — set Settings → Full → Transcription → OpenAI transcription model to 'whisper-1'.
```

Leave `OpenAI transcription model` at `whisper-1` unless you have confirmed a newer model returns word timestamps.

## What is sent, and when

| Feature | What leaves your Mac | When |
|---|---|---|
| AI editing on OpenAI | Transcript **text** and word timing | Only when `Bad-take removal` is on |
| Cloud transcription (Pro) | That job's **audio**, as 16 kHz mono chunks | Only for jobs where you selected `✦ Cloud (OpenAI)` |
| Video goal summarising (Pro) | The goal text you typed | Only when you click `Summarize with AI` |

**Your video is never uploaded** in any of these paths. Cloud transcription sends audio only, split at silence boundaries so chunks never break mid-sentence. Full detail in [Privacy and data flow](/docs/privacy-data-flow).

## Common mistakes

- **Funding ChatGPT instead of the API.** They are different balances.
- **Losing the key.** The full value is shown once. Create a new one rather than hunting for it.
- **Changing the transcription model.** Anything other than `whisper-1` currently fails the job at the timestamp check.
- **Assuming Cloud transcription works without Pro.** It is a Pro feature *and* needs your own key — both are required.

## Troubleshooting

| Message or symptom | Likely cause | Fix |
|---|---|---|
| `Cloud transcription needs your OpenAI API key. Add it in Settings → LLM, or switch this job to on-device transcription.` | No key saved | Save the key, or switch the job to `On-device` |
| Insufficient credit or quota | API billing not funded | Add prepaid credits or a payment method on the Platform account |
| Organisation verification required | OpenAI requires a one-time verification for the model | Complete it on OpenAI's site |
| `OpenAI cloud transcription failed (<model>): …` | Network, rate limit, or key problem | RoughCut already retried once; check key and network, or switch the job to on-device |
| Rate limited | Too many requests on a new account | Wait and retry; limits rise with account history |
