Help

How the box maker works, what it writes, and what to do when it complains.

Ask a question

Answered from this page. If it is not covered here, it will say so rather than guess.

What this tool does

It wraps a flat product cover onto a 3D box and puts the result where the website can use it.

Every product in the bundle needs a box mockup. The artwork starts as a flat square cover in a Canva deck. This tool pulls that cover, wraps it onto a perspective box with the 5DayDeal spine branding, and writes two finished images back to the product record in Airtable, which then syncs on to Webflow.

You can also use it by hand for a one-off: paste a cover image, adjust the box, and download it. The Airtable sync is the batch path for a whole bundle.

  • The 860 x 860 box carries the "This is a Digital Product" disclaimer and is the inline artwork on the sales page.
  • The 1080 x 1080 box has no disclaimer and is the social asset, used for link previews.
  • Both are transparent, so they sit on any background the page uses.

Signing in and connecting

Three separate identities have to be in place before a sync will run.

  • The tools hub. You sign in at tools.5daydeal.com and the box maker follows whatever the hub says. There is no separate password for this tool. If you see "Sign in to the 5DayDeal Tools hub", open the hub, sign in, then reload this page.
  • Canva. A connected Canva account with read access to the decks. The chip at the top of the sync panel shows which account, and the small link button on that chip, Reconnect Canva, re-authorises it when the token expires.
  • Airtable. A token held on the server. The chip shows which account it belongs to.

Both chips need to be green before Scan will find anything. After fixing either one, press the refresh button beside the Canva design or Airtable view field rather than reloading the page. It rechecks that connection and reloads that list.

Your first run

The short version, for when you already know the tool and just want the order.

  1. Pick the Canva deck. Optionally pick an Airtable view to narrow which products are touched; leave it blank for all mapped products.
  2. Leave the run-mode switch on Dry run for the first pass.
  3. Scan matches Airtable records to pages in the deck and lists what it found.
  4. If Scan reports products with no Canva Page ID, press Map pages, link the new pages to their products, and Scan again.
  5. Covers pulls each page out of Canva and writes it to the product record.
  6. Boxes renders the two box images and uploads them.
  7. Read the results, then flip to Live run and go again.

The deck and view you pick are remembered, so the next visit starts where you left off.

Cover and spine logos

The three images that make up a box.

The cover image is the front face. It should be square; anything else gets stretched to fit. You can paste a URL or upload a file. The top spine logo and main spine logo go on the box spine, and both default to the 5DayDeal mark.

A pasted URL has to allow cross-origin reads, or the browser will not let the box be exported. If you see "cover blocked by CORS", upload the file instead.

Shape, lighting and the disclaimer

What the Adjustments tab changes.

Adjustments control the box proportions, the perspective, the lighting overlay and the drop shadow. The disclaimer line under the box is a bitmap rather than live text, so it renders identically everywhere regardless of installed fonts.

The disclaimer is on for the 860 sales-page image and off for the 1080 social one. The Airtable sync sets this per target and ignores the toggle; the toggle applies to manual exports.

Presets

Saved box setups, shared across everyone using the tool.

A preset stores the current adjustments so a look can be reused. Presets are kept on the server, so everyone on this domain sees the same list. If the server cannot be reached they fall back to this browser only.

Bulk build and download

Making files without touching Airtable.

Bulk build renders the current box at the sizes and formats you tick and downloads them. Nothing is written to Airtable. Use it for one-offs, or to check what a change looks like before running a sync.

  • PNG is lossless and keeps transparency. Biggest files.
  • WebP keeps transparency at a fraction of the size.
  • AVIF is smaller again. It is encoded in the browser and takes about a second per image.
  • JPEG has no transparency, so the box is flattened onto white.

How the three steps fit together

Scan finds the work, Covers fetches the artwork, Boxes builds the mockups.

The steps run in order and each depends on the one before. Scan matches Airtable product records to pages in a Canva deck using the Canva Page ID field. Covers exports each matched page and writes it to the product as the flat cover. Boxes renders the 3D mockups from those covers.

If you run Covers and then Boxes, the tool re-reads the new covers first. Boxes built from an old cover would be wrong, so it refuses to guess.

Dry run and live run

The switch that decides whether anything is written.

Dry run is the default and the safe state. Everything happens except the writes: pages are exported, images are compressed and measured, and the results are reported, but Airtable is untouched. Live run writes.

The switch is worded rather than ticked, because a checkbox that quietly means "write to production" is too easy to misread.

A dry run is the right first move after any change to the tool, and costs nothing but time.

Step 1: Scan

Builds the work list and tells you what does not line up.

Scan reads the deck's pages and the Airtable view, then pairs them by Canva Page ID. It reports three groups: products ready to process, products whose page id is missing from the deck, and products with no page id at all.

  • Missing page usually means the page was deleted or the deck was rebuilt. The id in Airtable no longer exists.
  • Unmapped means the Canva Page ID field is empty for that product.

Both are fixed with Map pages, which appears under the step button once a scan has run.

Neither is silently skipped. A product that quietly vanishes from a run is the kind of thing nobody notices until the sale is live.

Map pages

Linking a new Canva page to the product it belongs to.

A product and its Canva page are linked by the Canva Page ID field on the product record. Canva's API does not share page titles, only the artwork, so a new page cannot be matched by name. Map pages shows each unlinked page as a picture, reads the title off the artwork, and proposes the product it belongs to. A person confirms before anything is written.

  1. Run Scan. If it reports products with no Canva Page ID, a Map pages button appears under the step button.
  2. Press it. Every page in the deck that no product claims is listed with its thumbnail, alongside the products in the view that have no page.
  3. The assistant reads each page and fills in its best match, marked confident, check this, or unsure. Check each one against the picture. Change any that are wrong, or set a page to Leave unlinked.
  4. Press Save. On a dry run the links are checked and reported; on a live run they are written and Scan runs again, so the new products appear as ready.
  • A page already linked to a product anywhere in the table is not offered again, and a product already linked to a page the deck still has is not offered either. That is what stops a cover landing on two products.
  • A product whose saved page id no longer exists in the deck is offered with (relink) after its name, so a rebuilt deck can be reconnected here.
  • Two products in the view with the same title get a warning at the top. Decide which record is the live one before linking, or the cover will go to the wrong record.

The suggestion is a suggestion. The artwork is what you are confirming against; a title that disagrees with the picture is wrong, not the picture.

Step 2: Covers

Pulls each Canva page in as the product cover, preserving what was there.

  1. The page is exported from Canva at 1080 x 1080.
  2. It is compressed to the smallest JPEG that still measures as visually identical.
  3. If the result is the same as what is already there, nothing is written.
  4. Otherwise the existing cover is copied into Image Backups | Sale Page Featured | Gallery | Course | Logos | Originals and that copy is verified before the current one is replaced.
  5. The box background colour is filled in if it is empty.

The old cover is verified in Image Backups before anything is cleared. If that verification fails the run stops rather than risk losing the only copy.

Step 3: Boxes

Renders both mockups from the current cover and uploads them.

For each selected product the browser renders the box at 860 and 1080, encodes them, and uploads each to its Airtable field. Three products are processed at once.

The 860 is encoded in your browser when it can be, which keeps the upload small. If that is not possible for any reason the full image is sent and the server encodes it instead. Rows marked (local) were encoded in the browser.

Rendering happens in your browser, so this step needs the tab to stay open. Closing it mid-run stops the work.

Box colour

The colour of the box sides, taken from the artwork.

The sides and spine take a colour sampled from the cover, so the box reads as belonging to the artwork. Two modes are offered: most prominent takes the largest cluster of colour, and the alternative averages the darker half of the image, which tracks the mood rather than being washed out by a bright sky.

Whatever is picked is then darkened until white text on it clears a real contrast threshold, so the spine logo stays legible. That is why the stored colour is often darker than anything obviously in the cover.

  • The colour is only written when the cell is empty, so hand-picked colours are left alone.
  • Replace colors that are already set overrides that and rewrites every one.

What gets skipped, and why

How the tool tells finished work from work still to do.

Re-running should be cheap. Both steps recognise work that is already done and leave it alone.

  • Covers compare the Canva page against what the cover was built from. Canva gives each page a content fingerprint, so an unchanged page is recognised without exporting it, which is the slow part.
  • Boxes compare the cover, the box colour, the size and the encoder settings. Change any of them and the box rebuilds.

Being current takes two things agreeing: the source has not changed, and the file in Airtable is still the one this tool wrote. Swap an attachment by hand and it will be rebuilt on the next run.

  • Rebuild boxes that are already up to date forces the work anyway. Use it when you have changed something the fingerprint cannot see.
  • A cover is only skipped early when its colour is also settled, because the colour comes from the exported artwork.

The record of what was built lives on the server. Losing it is harmless: anything unrecognised is simply rebuilt.

Formats and quality

What each image is encoded as, and how that is decided.

ImageFormatWhy
Cover, 1080JPEGSource artwork, no transparency needed.
Box, 860AVIFInline sales-page artwork. Around a quarter smaller than WebP at the same measured quality.
Box, 1080WebPThe social asset. Link-preview scrapers do not render AVIF, so a smaller file would cost the preview entirely.

Nothing is encoded at a guessed quality. Every image is measured against the original and has to clear a quality floor before it is accepted. If a setting cannot clear it, a higher one is used rather than shipping something degraded.

The 860 is encoded with both codecs and the smaller result wins, so a cover that AVIF handles badly falls back to WebP on its own. That is why the odd product ends up as WebP at 860.

Filenames

The names written into Airtable, which are a spec other things rely on.

ImageFilename
CoverProduct-Name-flat-1080.jpg
Box 860Product-Name-box-860.avif
Box 1080Product-Name-box-1080.webp

The name comes from the product title with anything that is not a letter or number replaced by a hyphen. Only the extension varies, and only with the codec that won.

Nothing else is added to these names. Bookkeeping about what a file was built from is kept on the server, not in the filename.

Where everything is written

The Airtable fields this tool reads and writes.

FieldRead or written
Canva Page IDRead by Scan, written by Map pages. Links the product to a page in the deck.
Sales Page Featured Image - Flat - 1080 x 1080 - JPGWritten by Covers. The flat cover.
Image Backups | Sale Page Featured | Gallery | Course | Logos | OriginalsWritten by Covers. Holds the previous cover (this was Sub/Spare Images until 2026-09-16).
Optimized ... 860 x 860 - webpWritten by Boxes. The sales-page box.
Social Media Box Image - 1080pxWritten by Boxes. The social box.
Box Background Color (hex)Written by Covers when empty.

Two field names are now stale. The 860 field says "webp" but usually holds AVIF, and the 1080 field is named for a JPEG. The names were not changed because other things reference them; the contents are what the table above says.

Each image field holds exactly one attachment. The tool clears the cell and re-uploads rather than appending, and checks afterwards that exactly one file is there.

What happens in Webflow

Where the images go after Airtable, and what Webflow does to them.

Airtable syncs the images on to Webflow, which serves them from its CDN. Webflow does not convert or re-compress anything on its own: the file uploaded is the file visitors download, byte for byte.

There is a manual Compress Assets action in the Webflow CMS that converts assets to WebP or AVIF. Do not run it on these images. They are already encoded once at a measured quality, and putting them through a second lossy pass costs quality without meaningfully reducing size.

That action also converts assets used as social preview images, and link-preview scrapers do not render AVIF.

Common problems

What the errors mean and what to do about them.

What you seeWhat it means
Sign in to the 5DayDeal Tools hubNo hub session. Open tools.5daydeal.com, sign in, reload this page.
Your tools hub session is not valid here any moreYou were signed in but the session expired or does not apply here. Sign in again.
is not authorised for the 3D Box MakerYour hub account exists but is not on this tool's access list. Griffin can add you.
cover blocked by CORSThe cover URL will not allow the browser to read the pixels. Upload the file instead of linking it.
Canva export did not succeedCanva refused or timed out on the export job. Check the Canva chip is still connected, then retry.
Canva is rate-limiting token refreshes (HTTP 429)Too many sign-ins to Canva in a short time. Wait a minute and try again. The tool keeps a Canva sign-in for hours once it has one, so this should be rare.
Export was NxN, expected 1080x1080The Canva page is not square. Fix the page size in the deck.
Could not confirm the previous cover reached Image BackupsThe safety copy could not be verified, so the run stopped before touching the current cover. Nothing was lost. Retry.
Expected exactly 1 attachmentThe cell ended up with the wrong number of files. Check the record in Airtable and retry.
PNG encode failed (tainted canvas?)The browser will not export because an image on the box came from somewhere that does not allow it. Usually the cover.
A box image will not displayVery old browsers cannot decode AVIF. Safari needs 16.4 or newer, Edge 121 or newer.

Speed and limits

What makes a run slow, and the ceilings you can hit.

  • Airtable allows five requests a second per base and answers a breach with a thirty second lockout. Every run is paced to stay under that, which sets the floor on how fast a big run can go.
  • Canva exports are the slow part of Covers. Each is a job that has to be created, waited on and downloaded. This is exactly why unchanged pages are recognised without exporting.
  • Covers run in chunks because the web server closes long requests. The tool hands itself a cursor and carries on; you do not need to do anything.
  • Attachments are capped at 5 MB by Airtable. Nothing this tool produces comes close.
  • Boxes render in your browser, so a faster machine builds faster, and other heavy tabs will slow it down.

The first run after a change to the encoder rebuilds everything once, because nothing on record matches the new settings. Runs after that only touch what actually changed.

Settings and glossary

Things worth knowing that do not fit anywhere else.

  • Quality floor. The measured quality every image has to clear. It is a server setting, so it can be changed without a deploy.
  • Record link(s) mode. Runs against specific Airtable records you paste, ignoring the view. Useful for fixing one product.
  • Version. The build number in the footer, with the deploy it came from. Quote it when reporting a problem.
TermMeaning
CoverThe flat square artwork for a product.
BoxThe 3D mockup rendered from a cover.
DeckA Canva design holding one page per product.
ViewAn Airtable view, used to narrow which products a run touches.
Dry runA full run that reports what it would do and writes nothing.
Quality floorThe measured threshold an encoded image has to clear before it is accepted.