- Writing models draft captions, adapt a post for several networks and write alt text for pictures.
- A picture model creates new pictures and edits pictures from your media library.
There is one OpenAI key. The OpenAI GPT field on Writing Models and the OpenAI field on Media Models read and write the same stored key.
Before you start
- You can sign in to the MagicPost admin panel.
- You have an OpenAI account on the API platform with billing set up. OpenAI bills you directly for every request. This is separate from the credits your users spend in MagicPost.
Get an API key
1
Sign in to the API platform
Go to platform.openai.com and sign in. This is the API platform, not the ChatGPT app.
2
Set up billing
Add a payment method or a credit balance in your billing settings so requests can go through.
3
Open the API keys page
Go to platform.openai.com/api-keys. If your account uses projects, select the project that should own the key.
4
Create the key
Click Create new secret key, name it (for example, MagicPost) and create it. If you restrict the key’s permissions, allow chat completions and image generation and editing.
Add the key in MagicPost
1
Open Writing Models
Go to Admin → Publishing → Writing Models.
2
Paste the key
In the Provider keys box, paste the key into the OpenAI GPT field and click Save keys. The toast reads Keys saved. and the OpenAI GPT card shows Key stored.
3
Switch on the models
Turn on the switch next to each model you want to offer. Click Test on one of them. MagicPost sends a one-word request and shows either that the model answered or the error OpenAI returned.
4
Check the picture model
Open Admin → Publishing → Media Models. The OpenAI field already holds the same key and the card shows Key stored. Switch on the picture model and click Test. MagicPost asks for one small picture, so the test makes a real, billable request.
Starting models
The installer loads this list. Identifiers are as shipped and can be corrected later (see Model identifiers). Credits are MagicPost credits, not OpenAI prices, and you can change them on the model. Writing Models
Media Models
How MagicPost calls OpenAI
- Writing uses OpenAI’s chat completions endpoint. Models that reason (identifiers starting with
oand a digit, orgpt-5and later, except-chatvariants) are sent a low reasoning effort and extra room in the token limit, and no temperature. - If OpenAI rejects
temperatureorreasoning_effortby name, MagicPost sends the request again without it and remembers that for the model. The Test result then reads that the model turned down those settings, so they are no longer sent. - Pictures use OpenAI’s image generation endpoint, or its image edit endpoint when the user starts from a picture. Wider-than-tall requests are made at 1536x1024, taller-than-wide at 1024x1536 and square at 1024x1024.
- Attaching pictures to a caption request needs a model that can look at pictures. MagicPost recognizes this from the identifier. If a model cannot, users see that the model cannot look at pictures and are asked to pick another.

