LastShoot
Use cases / Brands & agencies

Ad creative,
from the packshot.

Turn product photos into campaign scenes, branded templates with your palette and logo, and short animated clips for social.

POST/edit/image/v1POST/branding/template/image/v1POST/branding/logo/image/v1POST/generate/video/v1
Crystal evening clutch packshot
Packshot
The clutch in a dark evening campaign scene
Campaign scene
POST/edit/image/v1
Step 01

Campaign scenes from a packshot

Keep the product exactly as photographed and build the scene around it: surface, light, props and mood.

POST/edit/image/v1
$POST/edit/image/v1
{
  "input_image": "https://cdn.brand.com/sku/crystal-clutch.png",
  "prompt": "evening campaign scene, black backdrop with warm bokeh, red petals, reflective surface",
  "output_format": "webp"
}
Crystal clutch packshot
input_image
Clutch in an evening campaign scene
Campaign scene
POST/edit/image/v1
Same key, more formats

Branded and motion assets.

Run these on the images above, or on your own packshots.

POST/branding/template/image/v1

Branded templates in your palette

Describe the asset and pass your brand colours. The palette is worked into the generated layout.

$POST/branding/template/image/v1
{
  "prompt": "seasonal sale banner background, soft paper texture, space for headline",
  "palette": [
    "#111317",
    "#F0F0F0",
    "#C8102E"
  ],
  "width": 1024,
  "height": 1024,
  "output_format": "png"
}
POST/generate/video/v1

Short motion from a still

Animate a finished image into a short clip for social placements. Set the motion, size and duration up to 10 seconds.

$POST/generate/video/v1
{
  "input_image": "https://cdn.brand.com/renders/clutch-campaign.webp",
  "prompt": "slow push in, sparkle on the crystals, gentle light sweep",
  "width": 896,
  "height": 512,
  "duration_seconds": 4,
  "callback_url": "https://hooks.brand.com/lastshoot"
}
The code

One key. Async jobs.

Every call takes an X-API-Key header and returns a job_id. Poll the status endpoint, or pass a callback_url and get a webhook when the job completes or fails.

Read the docs
campaign.sh
1# 1. Build the campaign scene around the packshot
2curl https://api.lastshoot.com/edit/image/v1 \
3 -H "X-API-Key: $LASTSHOOT_API_KEY" \
4 -H "Content-Type: application/json" \
5 -d '{
6 "input_image": "https://cdn.brand.com/sku/crystal-clutch.png",
7 "prompt": "evening campaign scene, black backdrop with warm bokeh",
8 "output_format": "png",
9 "callback_url": "https://hooks.brand.com/lastshoot"
10 }'
11
12# 2. Animate it for social
13curl https://api.lastshoot.com/generate/video/v1 \
14 -H "X-API-Key: $LASTSHOOT_API_KEY" \
15 -H "Content-Type: application/json" \
16 -d '{
17 "input_image": "<result_url from step 1>",
18 "prompt": "slow push in, gentle light sweep",
19 "duration_seconds": 4,
20 "callback_url": "https://hooks.brand.com/lastshoot"
21 }'

Try it on your own catalogue.

Bring a few product photos. We will run them through these endpoints with you.