Credits, billing and refunds

Each render is 1 credit from the same credits your workspace uses in the app. Failed renders cost nothing, and an Idempotency-Key stops a retry charging twice.

Updated

One pool of credits

Your workspace has one set of credits. Renders made in the app, renders made through the API and pictures made by the website visualizer all spend from it, at the same rate. There is nothing separate to buy for the API.

What costs a credit

ActionCredits
A render, of a product or a paint color1
A picture a shopper makes in the website visualizer1
Upscaling a render0
Adding a scene, and finding its surfaces0
Reading products, scenes, renders and your account0
A render that fails0: given back automatically
A request that is refused, for any reason0: nothing is charged

A request for several renders is charged in one go, for all of them, or not at all. See All or nothing.

When credits come back

  • A render fails. Its credit goes back to your workspace on its own. You never pay for a render you did not get.
  • You cancel a render before it starts. Its credit goes back, unless it was taken before your workspace’s credits last renewed.
  • A request is refused. Nothing was charged, so there is nothing to give back.

The Terms of service (section 4) set out the full rules for credits and refunds.

Check your balance

Retrieve your account returns how many credits the workspace has used this period, its limit and what remains. It spends nothing, so call it before a large job. Credits renew every month, including on yearly plans.

Run out of credits

A render request that needs more credits than remain is refused with 402 insufficient_credits, and nothing is charged. Retrying will not help until credits are added, so pause the job and alert your team.

402 Payment Required
{
  "error": {
    "type": "insufficient_credits",
    "message": "These renders need 12 credits and this workspace has 5 left. Send fewer renders, or move to a larger plan in Settings → Workspace."
  }
}

Protect your spend

Every credit should go on a render someone meant to make. These keep it that way:

  • Send an Idempotency-Key with every render request. A retry after a dropped connection then gets the first answer back instead of a second charge. See Idempotent requests.
  • Keep secret keys secret. Only a secret key can spend through the API. See Keep secret keys safe.
  • Cancel what you no longer need. A render still queued can be cancelled for its credit back.
  • Cap the visualizer. Set a monthly picture limit, so shoppers can never spend past it. See Picture limits.
  • Watch your balance. Check credits.remaining at the start of each job, and alert your team when it falls below a normal week of rendering.

Buy credits

Credits come with your Skip Shoot plan and renew with it. See Pricing for the plans, and change yours in the app under Settings → Workspace. Rendering more than 10,000 a month? Enterprise adds volume pricing and custom scenes: talk to us.

Something these pages do not answer? Email admin@skipshoot.com and we’ll help.