Bookstore staff-pick shelf talkers for Small Business Saturday

Print staff-pick shelf talkers for Saturday, November 28, 2026: one Ideogram 4.5 card per book with the exact title and a one-line note, $0.06 each at list.

5 min readSume
All posts

To make staff-pick shelf talkers, generate one portrait card per book with a text-capable image model, quote the title and a one-line note in the prompt, and print them on cardstock. With ideogram/ideogram-v4.5 that is $0.06 list per card at medium quality, so 20 shelf talkers cost $1.20 at list before Sume's margin, and any card with a typo is another $0.06 to redo.

Small Business Saturday 2026 is November 28, the Saturday after Thanksgiving. A bookshop's advantage that weekend is a person's recommendation, and a shelf talker puts that recommendation next to the book.

What goes on a card?

Title, author, one sentence from the person who picked it, and their first name. Keep the sentence under 12 words. Do not ask the model for a cover: generated covers look like the real book and are not. Leave a clear space so the staff member can sign, or put the cover in with your own photo and the card beside it.

How do I keep the spelling right?

Put every line of text in quotation marks in the prompt, say "no other text", and proofread titles and author names against the book in your hand. Names and titles are where a text-capable model is most likely to slip. Because retries are cheap, regenerate until each word is right rather than correcting by hand.

import os, requests

books = [
    ("The Night Garden", "A. Reyes", "I read it twice in one week.", "Dana"),
    ("Salt Roads", "M. Okafor", "Quiet, then it hits hard.", "Sam"),
]
for i, (title, author, note, who) in enumerate(books):
    prompt = (
        f'A warm cream shelf talker card. Top: "Staff pick". Title: "{title}". '
        f'Author: "{author}". Note: "{note}". Signature: "{who}". No other text.'
    )
    r = requests.post(
        "https://api.sume.com/v1/images",
        headers={
            "Authorization": f"Bearer {os.environ['SUME_API_KEY']}",
            "Idempotency-Key": f"talker-{i}",
        },
        json={"model": "ideogram/ideogram-v4.5", "prompt": prompt,
              "aspect_ratio": "3:4", "quality": "medium", "mode": "sync"},
        timeout=120,
    )
    print(title, r.status_code)

What does a set cost?

Ideogram 4.5 lists $0.03, $0.06 and $0.22 per image by quality, before Sume's margin (Image API docs). Medium is a good print choice for a card read at arm's length.

Shelf-talker sets, Ideogram 4.5 list prices read 2026-10-04
CardsLow $0.03Medium $0.06High $0.22
10$0.30$0.60$2.20
20$0.60$1.20$4.40
40$1.20$2.40$8.80

What about a sync call that takes too long?

If a synchronous call runs past 30 seconds you receive a job envelope instead of images. Read GET /v1/jobs/{id}/result for the files, and do not resubmit a paid request because your own loop timed out (Jobs and results). Print one card first, check the colours on your printer, then run the rest.

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume