[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"blog-post-how-the-images-on-this-blog-are-made":3},{"slug":4,"title":5,"body":6,"summary":7,"tags":8,"author":12,"cover_url":13,"published_at":14,"seo_title":5,"seo_description":7,"reading_minutes":15,"related":16},"how-the-images-on-this-blog-are-made","How the images on this blog are made — and how your shop can do the same","\u003Cp>Every cover on this blog is generated. Not picked from a stock library, not drawn by hand — generated on the same platform your shop would run on, from a prompt, on our own GPU server. This post shows exactly how, step by step, with the real prompts and the real times. Nothing below was retouched, and where a step took several tries, we say so.\u003C\u002Fp>\n\n\u003Cp>We'll follow one product the way a small shop would: a single ordinary phone photo goes in, and a product shot, a second angle, a looping clip for social and a blog cover come out.\u003C\u002Fp>\n\n\u003Ch2>1. Start with the photo you already have\u003C\u002Fh2>\n\u003Cp>Most shops have a photo like this: taken on a phone, on the kitchen counter, under the ceiling light. It shows the product, but it doesn't sell it.\u003C\u002Fp>\n\u003Cfigure>\n  \u003Cimg src=\"https:\u002F\u002Fasync.shop\u002Fmedia\u002Fmediagen\u002F6a\u002F6aba3e7f2786f0ae959d6f2e-0-3c0dcf10.png\" alt=\"A plain phone photo of a candle on a cluttered kitchen counter\" width=\"896\" height=\"1152\" loading=\"lazy\">\n  \u003Cfigcaption>The starting point — a deliberately ordinary snapshot, 896×1152. For this post we generated this stand-in too, so we could show every step — it is the best of five attempts (the others had two jars, or a jar that looked like orange juice). In real use it is your own photo.\u003C\u002Ffigcaption>\n\u003C\u002Ffigure>\n\u003Cp class=\"prompt\">\u003Cstrong>Preset:\u003C\u002Fstrong> Image from a prompt · 4:5 · medium · 31 s\u003Cbr>Close-up unedited smartphone photo of a lit handmade soy candle in an amber glass jar with a blank kraft paper label, on a kitchen counter, a yellow sponge and a coffee mug slightly out of focus behind it, flat overhead kitchen light, ordinary everyday snapshot\u003Cbr>\u003Cstrong>Negative:\u003C\u002Fstrong> second candle, two jars, text, letters, writing, juice, drink, cinematic lighting, dramatic light, professional photography, moody\u003C\u002Fp>\n\n\u003Ch2>2. Turn it into a product shot\u003C\u002Fh2>\n\u003Cp>The \u003Cem>Improve \u002F edit a photo\u003C\u002Fem> preset takes that image plus a plain-language instruction. The model keeps the product itself — jar, label, wax — and changes everything around it. Portrait 4:5 is the tallest format Instagram's feed allows, and it works on a product page too.\u003C\u002Fp>\n\u003Cfigure>\n  \u003Cimg src=\"https:\u002F\u002Fasync.shop\u002Fmedia\u002Fmediagen\u002F6a\u002F6aba419b2786f0ae959d6fab-0-aaf83c27.png\" alt=\"The same candle on a beige linen cloth in soft window light\" width=\"912\" height=\"1136\" loading=\"lazy\">\n  \u003Cfigcaption>Same candle, new setting — 912×1136, generated in 75 s.\u003C\u002Ffigcaption>\n\u003C\u002Ffigure>\n\u003Cp class=\"prompt\">\u003Cstrong>Preset:\u003C\u002Fstrong> Improve \u002F edit a photo · 4:5 · medium\u003Cbr>Remove the sponge, the dish towel, the mug and all clutter. Place the same lit candle on a warm beige linen cloth with soft window light from the left and a softly blurred neutral background. Keep the jar, the blank kraft label, the wax and the flame exactly as they are. Clean premium product photography.\u003C\u002Fp>\n\n\u003Ch2>3. Get a second angle without a second shoot\u003C\u002Fh2>\n\u003Cp>Product pages often show more than one view. The \u003Cem>Camera move\u003C\u002Fem> preset turns the virtual camera around the same object — no reshoot, no new setup. The instruction is a fixed phrase the model was trained on, not free text.\u003C\u002Fp>\n\u003Cfigure>\n  \u003Cimg src=\"https:\u002F\u002Fasync.shop\u002Fmedia\u002Fmediagen\u002F6a\u002F6aba442cc6fac272a1e4f3dd-0-e22f7951.png\" alt=\"The same candle seen from slightly to the right, label turned toward the left edge\" width=\"912\" height=\"1136\" loading=\"lazy\">\n  \u003Cfigcaption>Asked for a 45° turn to the right — 912×1136, generated in 1 min 57 s. The model turned less than that: the label has moved toward the left edge and the light now falls from a different side. A round, plain jar has no clear front or side, so the move stays subtle; objects with a distinct shape show it much more.\u003C\u002Ffigcaption>\n\u003C\u002Ffigure>\n\u003Cp class=\"prompt\">\u003Cstrong>Preset:\u003C\u002Fstrong> Camera move · rotate 45° right\u003Cbr>Rotate the camera 45 degrees to the right.\u003C\u002Fp>\n\n\u003Ch2>4. Make it move\u003C\u002Fh2>\n\u003Cp>A still photo becomes a short clip with the \u003Cem>Video from frames\u003C\u002Fem> preset. Give it one frame and the clip ends where it began, so it loops without a jump — ideal for a Reel, a Story or the top of a product page. Length is set in frames at 16 frames per second.\u003C\u002Fp>\n\u003Cfigure>\n  \u003Cvideo src=\"https:\u002F\u002Fasync.shop\u002Fmedia\u002Fmediagen\u002F6a\u002F6aba4968c6fac272a1e4f4ac-0-07064a37.mp4\" autoplay muted loop playsinline preload=\"metadata\" width=\"480\" height=\"608\">\u003C\u002Fvideo>\n  \u003Cfigcaption>A seamless loop from the product shot — 480×608, 49 frames (about 3 seconds), generated in 2 min 51 s.\u003C\u002Ffigcaption>\n\u003C\u002Ffigure>\u003Cfigure data-chart='{\"type\":\"hbar\",\"title\":\"How long each step took to generate\",\"unit\":\"s\",\"labels\":[\"Image from a prompt\",\"Same candle, new setting\",\"45° turn to the right\",\"Seamless loop (49 frames)\"],\"series\":[{\"name\":\"Seconds\",\"values\":[31,75,117,171]}],\"note\":\"From the generations shown in this post.\",\"source\":{\"label\":\"Async.Shop runs on our ComfyUI box\"}}'>\u003Cfigcaption>How long each step took to generate (source: the generations shown in this post)\u003C\u002Ffigcaption>\u003C\u002Ffigure>\n\u003Cp class=\"prompt\">\u003Cstrong>Preset:\u003C\u002Fstrong> Video from frames · 4:5 · medium · 49 frames\u003Cbr>Still life: the candle is already burning calmly on the linen and its small flame flickers softly in a gentle draft, warm window light shimmers slightly on the cloth. Nothing else moves and nothing enters the frame. Locked-off static camera.\u003C\u002Fp>\n\n\u003Ch2>5. And the cover of this post\u003C\u002Fh2>\n\u003Cp>Blog covers use the same image preset in landscape 16:9. When an editor on our team asks for a cover, the article's topic becomes the prompt. This one was the hardest image in the post: we tried seven versions, and none drew exactly what we described. The fast image model handles one subject and a mood well; a scene with several objects doing specific things — a phone \u003Cem>on a tripod\u003C\u002Fem>, \u003Cem>pointing at\u003C\u002Fem> the candle, a laptop \u003Cem>showing a grid\u003C\u002Fem> — gets the parts right and the relationships wrong. Tripods became candle stands, one candle became three, a phone screen showed a stranger's face.\u003C\u002Fp>\n\u003Cfigure>\n  \u003Cimg src=\"https:\u002F\u002Fasync.shop\u002Fmedia\u002Fmediagen\u002F6a\u002F6aba462cc6fac272a1e4f406-0-0e162ac1.png\" alt=\"A warm desk by a window with candles, a laptop and two phones\" width=\"1344\" height=\"768\" loading=\"lazy\">\n  \u003Cfigcaption>The take we kept — 1344×768, generated in 31 s. It has the right mood and none of the tripod: the phones lie flat on the table and there are several candles. For a cover that sets a tone, that was good enough; for a product image, it would not be.\u003C\u002Ffigcaption>\n\u003C\u002Ffigure>\n\u003Cp class=\"prompt\">\u003Cstrong>Preset:\u003C\u002Fstrong> Image from a prompt · 16:9 · medium\u003Cbr>Warm editorial photo of a small home product studio on a wooden table: a smartphone on a mini tripod photographing a handmade candle in an amber jar, a laptop behind it showing a grid of product photos, soft window light, calm and tidy, muted amber and teal tones, no text, no logos\u003C\u002Fp>\n\n\u003Ch2>What happens behind the button\u003C\u002Fh2>\n\u003Cp>Asking for a cover doesn't call the image model directly. It sends an event, and a small flow decides what to do with it:\u003C\u002Fp>\n\u003Col>\n  \u003Cli>The post says \u003Cem>\"I need a cover\"\u003C\u002Fem>.\u003C\u002Fli>\n  \u003Cli>A flow turns that into a generation job with the right preset, format and size for this site.\u003C\u002Fli>\n  \u003Cli>The job runs on our GPU server. Jobs wait in a queue, so a busy afternoon slows things down but nothing is lost.\u003C\u002Fli>\n  \u003Cli>When the job finishes, a second flow attaches the image to the post. If it fails, the reason is recorded next to the post instead of disappearing.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>Those flows are editable per shop. Want every cover square, an Instagram version made alongside it, or a clip only for featured products? That's a change to the flow, not a code change. The files go straight into the shop's own storage and are served from its own domain — every image on this page loads from \u003Ccode>async.shop\u002Fmedia\u003C\u002Fcode>.\u003C\u002Fp>\n\n\u003Ch2>The honest limits\u003C\u002Fh2>\n\u003Cul>\n  \u003Cli>\u003Cstrong>It isn't instant.\u003C\u002Fstrong> The times above are the GPU time of each job, as recorded by the generation server itself. Waiting in the queue comes on top — on a busy day a job can wait several times longer than it runs. A clip takes minutes, not seconds.\u003C\u002Fli>\n  \u003Cli>\u003Cstrong>Check the details.\u003C\u002Fstrong> Generative edits can change small things — text on a label, the shape of a handle. For a product listing, compare the result with the real item before you publish.\u003C\u002Fli>\n  \u003Cli>\u003Cstrong>Models add things you didn't ask for.\u003C\u002Fstrong> Our first prompt for the clip asked for the flame to flicker \u003Cem>and a wisp of smoke to rise\u003C\u002Fem>. The model read that as a candle being lit — so a lighter swings into the frame (below). A second try with a negative prompt listing \u003Cem>hands, lighter, match\u003C\u002Fem> brought a hand with a match instead: this fast video model runs without classifier-free guidance, and at that setting a negative prompt does nothing at all. What worked was changing the positive prompt — no smoke, \"already burning\", \"nothing enters the frame\". The rejected clips stay in the queue's history like any other job.\u003C\u002Fli>\n  \u003Cli>\u003Cstrong>Your photo matters.\u003C\u002Fstrong> Better light and a sharper source still give better results. The edit preset improves a photo; it doesn't invent a product you don't have.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cfigure>\n  \u003Cvideo src=\"https:\u002F\u002Fasync.shop\u002Fmedia\u002Fmediagen\u002F6a\u002F6aba44c3c6fac272a1e4f3ea-0-ad555fe7.mp4\" autoplay muted loop playsinline preload=\"metadata\" width=\"480\" height=\"608\">\u003C\u002Fvideo>\n  \u003Cfigcaption>The rejected first take. Prompt: “The candle flame flickers gently and a thin wisp of smoke rises and drifts away, warm light plays softly over the linen, the camera stays completely still” Nobody asked for the lighter.\u003C\u002Ffigcaption>\n\u003C\u002Ffigure>\n\u003Cp>If you sell physical products and want this running for your catalogue — covers, product shots and clips generated in your shop's own admin — tell us what you sell and we'll show you on your own photos.\u003C\u002Fp>\n","One ordinary phone photo in, a product shot, a second angle, a looping clip and a blog cover out. Every image in this post was generated on the Async.Shop platform; here are the exact prompts and timings.",[9,10,11],"AI product photography","content creation","behind the scenes","Async.Shop","https:\u002F\u002Fasync.shop\u002Fmedia\u002Fmediagen\u002F6a\u002F6aba462cc6fac272a1e4f406-0-0e162ac1.png","2026-09-28T11:42:32Z",6,[17,29,38],{"slug":18,"title":19,"type":20,"summary":21,"tags":22,"cover_url":26,"published_at":27,"updated_at":28},"create-product-videos-for-free-with-google-vids-7fb19e","Create Product Videos for Free with Google Vids","blog","Google Vids is now available for personal accounts, allowing shop owners to generate 1080p AI videos.",[23,24,10,25],"video marketing","free tools","ai-assisted","https:\u002F\u002Fmedia.stufio.com\u002Fmedia\u002Fasyncshop\u002Fmediagen\u002F6a\u002F6ababb8145201648bfd45eea-0-ffdf77a2.png","2026-09-25T07:15:00Z","2026-10-01T08:44:36.909Z",{"slug":30,"title":31,"type":20,"summary":32,"tags":33,"cover_url":35,"published_at":36,"updated_at":37},"create-multiple-video-angles-from-one-static-shot-7fb1a9","Create Multiple Video Angles From One Static Shot","Learn how solo creators are using Seedance 2.5 to turn a single tripod recording into orbits, pull-backs, and drone shots.",[23,10,34,25],"Seedance 2.5","https:\u002F\u002Fmedia.stufio.com\u002Fmedia\u002Fasyncshop\u002Fmediagen\u002F6a\u002F6abaa4753e21d5cbd14d4062-0-6b87aa92.png","2026-09-14T10:00:00Z","2026-10-01T08:44:36.674Z",{"slug":39,"title":40,"type":20,"summary":41,"tags":42,"author":12,"cover_url":47,"published_at":48,"updated_at":49},"shop-your-own-store-like-an-ai-agent-pre-black-friday-test-script","Shop your own store the way an AI agent would: a pre-Black-Friday test script","Ask ChatGPT, Claude and Copilot your customers' top questions about your shop, log every wrong or missing answer, and fix the source before Black Friday.",[43,44,45,46,25],"ecommerce","shopify","ai-agents","black-friday","https:\u002F\u002Fmedia.stufio.com\u002Fmedia\u002Fasyncshop\u002Fmediagen\u002F6a\u002F6ae48cd437fa83c1536d8c1a-0-09c57ab4.png","2026-10-31T04:02:11.962Z","2026-10-31T04:02:11.963Z"]