Skip to main content
A render comes back as a URL. By default that URL is ours. Add a domain you own and the same image is served from your name instead.

Custom domains

A custom domain is a subdomain of your own, such as cdn.yourbrand.com, that serves the images the API returns. The call, the artwork and the file stay the same; only the host on the returned URL is yours. You need a domain name and access to its DNS, and everything after that happens on this page. Sell customizable products under your own brand puts this surface beside the editor and the storefront button.
Custom domains are a paid add-on on top of a plan, billed monthly. The dashboard shows the price at checkout and the Owner of the organization is the one who completes it. An account without a paid plan is sent to billing instead of the setup form.

Domain management

Domains live on the Custom domains page. The list carries every domain the organization has added, the state each one is in and which one is the default; opening a row gives its DNS records, its certificate state and the API keys bound to it. A domain belongs to the organization rather than to the member who added it, so every member renders through it. Owners and Editors add domains, ask for checks, set the default and manage bindings; a Viewer reads the list and the status without changing either, and payment is the Owner’s alone. Members covers the roles.

Add a domain

1

Enter a subdomain

Use a host under a domain you own, such as cdn.yourbrand.com. A root domain is not accepted, because the record that points a name at us cannot sit at the root of a zone.Step one of the wizard, with the subdomain typed into the domain name field.
2

Publish the DNS records

The page hands you three records: a CNAME that points your subdomain at us, a TXT record that proves you own the name, and a second CNAME that keeps the certificate renewing. Copy each value and add all three at your DNS provider.Step two, listing the CNAME, TXT and certificate records with a copy control on each value.
3

Start the check

Press Start Verification once the records are live. Most providers publish within a few minutes, though a change can take up to a day to reach everyone.

Understand a domain status

The domain list, each row carrying the host name, the date it was added and its current status badge. The badge on the list and on the detail page names one status at a time:
  • Pending setup: registered, its records waiting for you.
  • Verifying: your records are being read. A domain left here for three days is removed, and a reminder reaches you before that.
  • SSL provisioning: ownership is proven and the certificate is being issued.
  • Awaiting payment: setup is finished and the add-on is unpaid.
  • Active: the domain is serving renders.
  • Error: a record is missing or wrong. The reason is printed above the records, so you can compare them line by line.
  • Suspended: the add-on lapsed. The domain stops serving, and it is deleted for good if the countdown on the banner runs out.
While a domain is verifying or provisioning the page checks again every thirty seconds, and Check now asks immediately and says whether anything moved. After an error, Re-verify starts the whole check over and is limited to once an hour, so correct every record before pressing it.

Complete the payment

Verification and payment are separate steps. A verified domain moves to Awaiting payment and shows how long is left before the attempt is dropped; only the Owner can finish it, and other members see the state and who to ask. A suspended domain carries the same countdown, and paying before it runs out brings the domain back rather than starting from scratch.

Choose a default domain

One of your domains is the default. Changing it is a confirmed action, because every render URL not bound to a specific key moves with it; URLs already handed to customers keep working, and the change applies to new renders. An account with exactly one active domain has nothing to choose, and that domain acts as the default until a second one arrives.

Bind a domain to a key

Open a domain and use API key bindings to attach one of your API keys. Every render made with that key then serves from that domain, with nothing to pass per request, which is how one account serves two brands. A binding is only offered while the domain is active, and the control reads your plan first. When the plan cannot be confirmed, the page says domain actions are paused instead of writing a binding that would not hold.

Understand which domain a render uses

The host on a returned URL is decided in this order:
  1. The domain bound to the API key that made the call.
  2. The default domain of the account.
  3. The single active domain, when the account has exactly one.
  4. Our own host, when none of the above applies.
A domain that is suspended or not yet active is skipped at every step, so a lapsed add-on falls back to our host and the links keep resolving.

Remove a domain

Remove is offered on a domain that is not serving: one still in setup, one that failed its check, one whose add-on lapsed.
Removing a domain ends its billing and drops the setup behind it. Nothing is served from that address afterwards, and bringing it back means publishing the records and verifying again. This cannot be undone.

API reference