Nightjar Logo
Workflow Integration And Batching

How do I generate AI product photos in bulk for many SKUs at once?

6 min read

Quick Answer

Bulk AI product-photo production in Nightjar starts with one reusable Product for each visually distinct item, then follows one of three paths. To run the whole job from one request, connect Nightjar to Claude, Claude Code or Codex and ask for a batch: the assistant plans up to 100 Products with one saved Recipe, shows the total Credit cost and a spending ceiling, and Nightjar runs the rest after you approve a sample, even once you close the chat. In the web app, save the photographic direction as a Recipe and submit a separate Generation for each Product yourself. For software that runs without a person, use the public API to orchestrate those Generations from your own catalog system. Selecting several Products in one Generation creates a group image containing those Products, not separate images for each SKU.

How should I organize many SKUs before generating product photos?

A Product is Nightjar's reusable record for one visually distinct sellable item. It can combine several Product Photos with a factual description and physical dimensions, giving each later Generation more evidence about the item than one loose upload provides. Treat different colorways or styles as separate Products; size-only SKUs may share a Product when their imagery is identical.

Create Products manually from uploads and existing Library Assets, or paste a supported public single-product page and review the staged details before saving. A Product Source Link is a reviewed snapshot, not a live catalog sync.

Multiple Products can be selected in one Product Photography Generation, but every selected Product is a joint subject in every output. Use that for an intentional group shot. For one image per catalog item, submit separate Generations.

How do I generate many SKU images in the web app?

The web app is a repeated per-Product workflow; for one request across many Products, use a batch from an AI assistant, described in the next section.

  1. In Products, create or review the Product for each visually distinct item.
  2. Open the Create tab and select the first Product.
  3. Set the photographic look with a Photography Style and choose a flat color or a saved Background. Use Framing for a product-only image; Shadow is available with a flat color. When a Fashion Model appears, use Pose and Camera Distance. Set the aspect ratio, resolution, format, and output count.
  4. Select Save as recipe. A Recipe is a Team-owned saved Create-form setup that keeps those ingredients, controls, written refinements, and supported output settings. It excludes Products, Additional Photos, and the Single shots/Photoshoot choice, so select the subject and output mode separately.
  5. Create the images, inspect the completed Assets in the shared Library, and approve them against the real product.
  6. Select the next Product, apply the Recipe, and submit the next Generation. Repeat only after changing any item-specific direction that should not carry across the catalog.

A Single-shot Generation can request multiple candidates for one Product. Photoshoot is a cohesive four-image output choice inside Product Photography. Both expand the options for the selected subject; neither is a multi-SKU batch command.

How do I run a bulk batch from an AI assistant?

Connect Nightjar to Claude, Claude Code or Codex, and the assistant can run the catalog loop for you as one Nightjar batch. Nightjar connects through MCP, the open standard AI assistants use to connect to other tools. You sign in to Nightjar in the browser and choose your Team; there is no API key, and connecting is free. It works in Claude on the web, the desktop app, Cowork and mobile as a custom connector, and in Claude Code and Codex. Making product photos in Claude with Nightjar shows the conversation, and the Nightjar MCP setup guide has the steps for each client and current limits.

  1. Save a Product for each item first, as described above. The assistant can also import one from a public product page or save photos you upload, and it shows the details for your review before saving.
  2. Ask for the batch in plain language, for example: "Apply our Summer Recipe to every product in the Linen collection. Show me three samples first." Name the Products, or let the assistant match them from your saved list. One batch holds up to 100 items, and each Product gets its own Generation, so every SKU receives separate images rather than a group shot.
  3. Review the plan. Planning is free and starts nothing. The plan lists the Products, settings, image counts and total Credit cost, and it carries a spending ceiling that Nightjar will not exceed.
  4. Approve the sample and compare those images with the real products while most of the Credits are still unspent. If they need a different setup, ask for a revised plan; otherwise, approve the rest.
  5. Close the chat if you like. The batch keeps running in Nightjar, and the images land in the Team Library under each Product. Ask for your batches in any new conversation to check progress, or to pause, resume or stop one; pausing releases the Credits held for unstarted items. To end a batch, ask the assistant to stop it; don't rely on removing the connector to stop one.

Batch images use the Team's normal Credits at the same prices as the web app. A catalog of more than 100 items runs as several reviewed batches.

Choose this route when a person is steering the work and wants one request instead of repeating the web-app flow for every Product. Unlike images generated inside a chat, every result starts from the saved Product's photos and facts, follows the same Recipe settings, and stays attached to that Product in the Library you already use. You keep two decisions: the price before anything runs and the sample before most of the money is spent.

How do I automate a bulk product-photo job through the API?

Use the Nightjar API documentation when your own catalog system should run the job without a person in a chat, on a schedule or whenever a product is added. API Access is included with an active paid Subscription. Your integration owns the catalog loop and sends the saved direction through reusable resource IDs and Generation request fields rather than a Recipe ID.

  1. Read the source catalog in your system. Upload and finalize any missing image Assets, then create or update one Product for each visually distinct item.
  2. Store the shared Photography Style, Background, Pose, Fashion Model, output settings, and other direction in your integration.
  3. Submit one asynchronous Product Photography Generation per Product with a unique idempotency key. Nightjar packs Main photos first, explicitly supplied Asset IDs next, then other Product Photos within the nine-photo limit. Supply an important detail view explicitly to prioritize it, and read resolved_asset_ids to see which photos were admitted. Reusing the same key for the same request returns the original admission instead of duplicating work.
  4. Read the Team's effective API concurrency limit before dispatching work. Keep in-flight Generations within that returned limit, and honor Retry-After with backoff when the API returns a concurrency or rate-limit response.
  5. Poll each accepted Generation until it is terminal. Save the Asset IDs from completed outputs, inspect every output slot, and send approved Assets into your separate publishing workflow.

How are Credits, failures, and review handled in a bulk job?

At current documented rates, which are the same in the web app, an assistant batch and the API, each completed 1K or 2K Product Photography Single shot costs one Credit, and each completed 4K Single shot costs two Credits. A Photoshoot requests four related images for two Credits total: if any output completes, the full two-Credit set charge applies; if every output fails, the charge is zero. The planned amount is reserved when a Generation is admitted, and Single shots settle per completed output.

One API Generation can partially succeed: a completed Generation means at least one output became an Asset, while a failed Generation means every output failed. Nightjar's built-in visual review can retry obvious failures at no extra Credit cost. Review product shape, color, text, logos, and channel requirements before publishing any catalog image.

Consistent and on brand AI photoshoots, optimized for conversion.

Nightjar