Skip to main content
AI writing and AI media runs cost credits. Every user has two credit balances, and MagicPost keeps an append-only history of every movement. This page explains how credits arrive, how they are spent and what you can adjust as an admin. Users see their side on the Credits page.

The two balances

The balance a user can spend is the total of both, minus anything on hold. A plan with AI credits set to -1 gives an unlimited allowance. Runs are then recorded as covered by unlimited credits and nothing is deducted.

How credits arrive

“Set” matters. The allowance is replaced, not added to. When a user starts or switches to a plan, whatever allowance they held, including registration credits, is replaced by the plan’s credits. Credit packs are never touched by this.
The plan’s credits are renewed monthly on every recurring plan type. A Yearly plan is charged once a year, but its allowance is refreshed each month by the scheduler.

Registration credits

Open General Settings in the Platform section, stay on the General tab and set Default Registration Credits. It is the number of credits granted to a user automatically when they register for the first time. It must be a whole number of 0 or more. Click Save. Accounts created with a social login start with 0 credits, whatever this setting holds.

What an AI run costs

You set the price of each model. Users are charged the model’s price for the model they pick. A price of 0 makes a run free. See AI models for the two model pages.

Holds

Before a run starts, MagicPost sets the cost aside as a hold. Held credits cannot be spent on anything else.
  • When the run produces a usable result, the hold is converted into a charge. For images and video the charge covers only what was delivered, for example the pictures actually saved.
  • When the run fails or returns nothing usable, the hold is released and nothing is charged.
  • A hold that nobody settles stops counting once it expires. A scheduled task also marks expired holds as released every hour.
Users see held credits as On hold on their credits page, with the time at which an unsettled hold is let go.

Team credits

A team owner can move credits from their own balance to a team member with Share credits in Teams. The credits are taken from the owner’s balance and given to the member as credit packs, so they do not expire and a plan renewal does not erase them. Credits from an unlimited plan cannot be shared. See Teams.

Adjust credits as an admin

1

Open the user

Go to Accounts → Users and open the user. See Users.
2

Edit the allowance

Choose the edit action and change Credits, then save. The value you enter becomes the user’s plan allowance. Credit packs are not changed. The history records the change as adjusted by an administrator.
3

Review the history

The user’s page shows a Credit history card with the date, what happened, the change and the balance after it. Active holds are listed above the history with a Release button. Releasing a hold means the work it was held for is no longer charged.
On a charge in the history, Refund gives the credits back to the balances they were taken from. Each charge can be refunded once, and the refund appears as its own entry.

Scheduled tasks

Two tasks keep credits accurate. Both run from the Laravel scheduler, so the cron job must be set up. See Cron and queue.
Without the scheduler, Yearly and Lifetime users do not get their monthly refresh, and expired holds keep credits out of reach until they are released.