BTL Pin Studio

Enter the dashboard password.

BTL Pin Studio

Costs AI quota, posts nothing. Fills the buffer you can review on the Pool tab. Takes buffered images, writes titles and descriptions, saves them as drafts on the Pins tab. Same as 2, then uploads each pin to Pinterest immediately. This is the only button that publishes. Checks the saved Pinterest cookies still work. Changes nothing.

Steps 1–3 are what the daily cron does on its own. Because posting draws from the buffer, a day where the AI free tier is exhausted still publishes.

Idle.

Everything the shop crawl found. Click a design to see its individual products. If a design you just published is missing, hit refresh — it reads the live shop immediately.

Images generated ahead of time, waiting to be posted. Delete anything you don't like — it will be regenerated from a different combination. Click any pin to edit its copy.

Import a Pinterest zip Images + pinterest_upload.csv (e.g. the Peanut recreation export). Pins arrive fully written and locked — nothing is regenerated.

Finished posts for @peanut.the.bosti, pushed in from the local generators (carousel-generator, video-generator) with node ingest/instagram.cjs. Nothing is generated here and nothing is shared with Pinterest — a pin is 2:3 built for search, these are 4:5 and 9:16 built for a feed. The cron posts 1 per run, lowest order first.

Queue is empty — push a batch with node ingest/instagram.cjs.


  

Posted to Pinterest / buffer-ready Built as draft (not posted) Needs AI generation that day

Past and current days show pins actually built that day. Future days are projected from your Daily plan: each source posts its set number per day, drawn from the buffer. Green means an image is already banked (or is a no-cost local render like the product grid); amber means the buffer is empty for that source on that day, so the pin depends on that day’s AI generation succeeding. Change the numbers on the Daily plan tab and this updates.

This is what decides how a pin looks. Every image is one product (or Peanut) crossed with one theme from these lists. Untick a theme to take it out of rotation without losing it; edit the text to change the look. A combination is never used twice, so the more themes are ticked, the longer before anything repeats.

The sources are split by whether they use the shop. Shop designs build every pin out of a real product, so each one has a filter — pick the designs, product types and sizes it may use, and the panel shows exactly what is left. Without shop designs never touches the catalog, so there is nothing to filter there.

Themes marked rich carry the full camera specification from the original tools — body, lens, aperture, film stock and negative prompts. That is the part that makes output look photographed rather than generated, so it is sent as-is and is not editable here. Hit Prompt on any row to read exactly what gets sent; it costs nothing. The thumbnail is the newest image that theme actually produced.

The AI image guide pins. Five editorial layouts, drawn locally (no AI image cost) from the images below and the on-pin text banks. Set a Guide link on the Settings tab — pins without a destination are skipped.

What the guide is about

Feeds the copywriter so pin titles and descriptions are accurate. Describe what the guide teaches — do not state a price, and don't call it free (the AI tools are free, the guide is not).

Layout previews

A live render of each layout from the current images and the first text set. Click one to enlarge.

Images

The pool the layouts draw from. Give each a short description (helps the copywriter) and tag which slots it suits: hero = big full-bleed shots (dramatic / striking), thumb = smaller cards in the grids. The before→after layout always uses a fixed reference photo (a plain shot of the real dog).

Add an image

On-pin text banks

The wording drawn on each layout. Each layout rotates through its sets, so more sets = more variety before anything repeats. line1 is the roman headline, italic the italic accent, line2 the trailing roman word; eyebrow, body and cta are optional per layout.

Pins per day and language, per source

Set a source to 0 to switch it off. Blog covers on “Auto” take their language from the post they link to — a German article always gets a German pin. The board box overrides which Pinterest board this source pins to; leave it blank to use the default shown in grey. The two number boxes are, in order, pins posted per day and this source’s buffer target — leave the buffer box blank to use the default below. Non-AI sources (e.g. product grids) fill their buffer in one pass with no quota cost, so a large buffer here is fine.

Instagram — @peanut.the.bosti

The token is tied to one account. Issue it for the Peanut account in the Meta App Dashboard (add peanut.the.bosti as an Instagram Tester, authorise, copy the long-lived token) — a token from another brand posts to that brand's feed. Save, then hit Test Instagram connection on the Instagram tab: it fills the account id for you and names the account it reached.

Both ticked, one cron URL does both. To post them at different times of day, add a second cron entry with &platforms=instagram appended — that narrows one call to Instagram only. The parameter can never switch on a platform that is unticked here.