attachment
attachment
attachment
attachment
attachment
attachment
attachment
attachment
attachment
attachment
attachment
attachment
attachment
attachment
attachment
attachment

Make 2 postable story choose among these photos keep any 2 or 3 photos

Here are 2 postable Instagram Stories for you โ€” each with carefully chosen photos and ready-to-use captions:

๐Ÿ“– Story 1 โ€” "From the garden to forever"

Photos used: IMG_1919 (walking hand-in-hand, looking back) + IMG_1921 (the forehead kiss)
Walking into forever with you ๐ŸŒฟโœจ Every step, every moment โ€” mine ๐Ÿ’› #Engaged #WeddingSeason #CoupleGoals #IndianWedding #TogetherForever

๐Ÿ“– Story 2 โ€” "That laugh is everything"

Photos used: IMG_1904 (laughing together indoors) + IMG_1905 (that glowing smile in the golden light)
He makes me laugh like no one else ๐Ÿฅน๐Ÿ’ This is what happy looks like โœจ #HappilyEverAfter #LoveStory #WeddingVibes #GoldenHour #ShesSaidYes

Why these photo combos?
StoryWhy it works
Story 1The back-walking shot has gorgeous motion + the forehead kiss adds intimacy โ€” great contrast for a swipe
Story 2Both indoor golden-lit shots match perfectly in tone/mood โ€” the candid joy reads beautifully together
You can post each pair as a 2-slide story or stack them as a carousel reel. Want me to generate designed story graphics with text overlays on the actual photos?

Create Instagram story graphics with these photos and text overlays

Running Command

mkdir -p /home/daytona/workspace/stories && cd /home/daytona/workspace/stories && curl -s -o img_1919.jpeg "https://d361swluvexzqs.cloudfront.net/chats-attachments/IMG_1919-1778759185258-1gmvjf.jpeg" && curl -s -o img_1921.jpeg "https://d361swluvexzqs.cloudfront.net/chats-attachments/IMG_1921-1778759185288-fq35lt.jpeg" && curl -s -o img_1904.jpeg "https://d361swluvexzqs.cloudfront.net/chats-attachments/IMG_1904-1778759185283-ixocnt.jpeg" && curl -s -o img_1905.jpeg "https://d361swluvexzqs.cloudfront.net/chats-attachments/IMG_1905-1778759185299-vjnmmh.jpeg" && ls -lh

Running Command

python3 << 'EOF' from PIL import Image, ImageDraw, ImageFont import textwrap, os # Instagram Story canvas: 1080 x 1920 W, H = 1080, 1920 OUT = "/home/daytona/workspace/stories" # โ”€โ”€ helper: open & crop-to-fill a rectangle โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ def fill_crop(path, tw, th): img = Image.open(path).convert("RGBA") iw, ih = img.size scale = max(tw/iw, th/ih) nw, nh = int(iw*scale), int(ih*scale) img = img.resize((nw, nh), Image.LANCZOS) x = (nw - tw)//2 y = (nh - th)//2 return img.crop((x, y, x+tw, y+th)) # โ”€โ”€ gradient overlay helper โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ def add_gradient(draw, x, y, w, h, top_alpha=0, bottom_alpha=200): for row in range(h): alpha = int(top_alpha + (bottom_alpha - top_alpha) * (row/h)) draw.rectangle([x, y+row, x+w, y+row+1], fill=(0,0,0,alpha)) # โ”€โ”€ font loader (tries common installed faces) โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ def get_font(size, bold=False): candidates = [ f"/usr/share/fonts/truetype/dejavu/DejaVuSans{'-Bold' if bold else ''}.ttf", f"/usr/share/fonts/truetype/liberation/LiberationSans{'-Bold' if bold else '-Regular'}.ttf", "/usr/share/fonts/truetype/freefont/FreeSans.ttf", ] for c in candidates: if os.path.exists(c): return ImageFont.truetype(c, size) return ImageFont.load_default() def draw_centered_text(draw, text, y, font, color=(255,255,255,255), shadow=True): # shadow if shadow: bbox = draw.textbbox((0,0), text, font=font) tw = bbox[2]-bbox[0] x = (W - tw)//2 draw.text((x+2, y+2), text, font=font, fill=(0,0,0,160)) bbox = draw.textbbox((0,0), text, font=font) tw = bbox[2]-bbox[0] x = (W - tw)//2 draw.text((x, y), text, font=font, fill=color) # โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ• # STORY 1 โ€” top: img_1919 (walking), bottom: img_1921 (forehead kiss) # โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ• canvas1 = Image.new("RGBA", (W, H), (20, 15, 10, 255)) # top photo occupies upper 55% top_h = int(H * 0.55) bot_h = H - top_h top_img = fill_crop(f"{OUT}/img_1919.jpeg", W, top_h) bot_img = fill_crop(f"{OUT}/img_1921.jpeg", W, bot_h) canvas1.paste(top_img, (0, 0)) canvas1.paste(bot_img, (0, top_h)) draw1 = ImageDraw.Draw(canvas1, "RGBA") # gradient over top photo bottom edge add_gradient(draw1, 0, top_h-160, W, 160, top_alpha=0, bottom_alpha=180) # gradient over bottom photo add_gradient(draw1, 0, top_h, W, bot_h, top_alpha=120, bottom_alpha=220) # thin gold divider line draw1.rectangle([0, top_h-2, W, top_h+2], fill=(212, 175, 55, 220)) # โ”€โ”€ text โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ font_big = get_font(78, bold=True) font_med = get_font(48) font_small = get_font(34) font_tag = get_font(30) # top caption (over top photo, near bottom edge) draw_centered_text(draw1, "Walking into forever", top_h - 130, font_med, color=(255, 245, 220, 255)) # main headline in middle band draw_centered_text(draw1, "with you โœจ", top_h + 60, font_big, color=(255, 240, 200, 255)) # sub-line draw_centered_text(draw1, "Every step, every moment โ€” mine ๐Ÿ’›", top_h + 160, font_small, color=(255, 255, 255, 230)) # hashtags near bottom draw_centered_text(draw1, "#Engaged #WeddingSeason #ForeverYours", H - 110, font_tag, color=(255, 230, 150, 200)) draw_centered_text(draw1, "#IndianWedding #CoupleGoals", H - 68, font_tag, color=(255, 230, 150, 200)) out1 = f"{OUT}/story1_garden.png" canvas1.convert("RGB").save(out1, quality=95) print(f"Story 1 saved โ†’ {out1}") # โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ• # STORY 2 โ€” top: img_1905 (big smile), bottom: img_1904 (laughing together) # โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ• canvas2 = Image.new("RGBA", (W, H), (10, 8, 5, 255)) top_h2 = int(H * 0.52) bot_h2 = H - top_h2 top_img2 = fill_crop(f"{OUT}/img_1905.jpeg", W, top_h2) bot_img2 = fill_crop(f"{OUT}/img_1904.jpeg", W, bot_h2) canvas2.paste(top_img2, (0, 0)) canvas2.paste(bot_img2, (0, top_h2)) draw2 = ImageDraw.Draw(canvas2, "RGBA") add_gradient(draw2, 0, top_h2-180, W, 180, top_alpha=0, bottom_alpha=200) add_gradient(draw2, 0, top_h2, W, bot_h2, top_alpha=140, bottom_alpha=230) # rose-gold divider draw2.rectangle([0, top_h2-2, W, top_h2+2], fill=(188, 143, 143, 220)) # โ”€โ”€ text โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ font_big2 = get_font(80, bold=True) font_med2 = get_font(50) font_small2 = get_font(35) font_tag2 = get_font(30) draw_centered_text(draw2, "He makes me laugh", top_h2 - 140, font_med2, color=(255, 235, 235, 255)) draw_centered_text(draw2, "like no one else ๐Ÿฅน", top_h2 + 55, font_big2, color=(255, 220, 210, 255)) draw_centered_text(draw2, "This is what happy looks like ๐Ÿ’", top_h2 + 160, font_small2, color=(255, 255, 255, 230)) draw_centered_text(draw2, "#HappilyEverAfter #LoveStory #WeddingVibes", H - 110, font_tag2, color=(255, 210, 180, 200)) draw_centered_text(draw2, "#GoldenHour #ShesSaidYes", H - 68, font_tag2, color=(255, 210, 180, 200)) out2 = f"{OUT}/story2_golden.png" canvas2.convert("RGB").save(out2, quality=95) print(f"Story 2 saved โ†’ {out2}") EOF

Reading File
Reading File
Both Instagram story graphics are ready! Download them here:

๐Ÿ“– Story 1 โ€” "Walking into forever"

Photos: garden walk (looking back) + forehead kiss Gold divider line ยท warm cream text

story1 garden

Image ยท PNG


๐Ÿ“– Story 2 โ€” "He makes me laugh like no one else"

Photos: glowing smile + laughing together indoors Rose-gold divider ยท warm blush text

story2 golden

Image ยท PNG


Both are sized at 1080 ร— 1920px (Instagram Story native resolution), ready to post directly. Each has:
  • Two photos stacked with a styled divider
  • Dark gradient overlays so the text pops
  • Main headline + sub-line + hashtags
Let me know if you want to tweak fonts, text, colors, or swap any photos!
This is a shared conversation. Sign in to Orris to start your own chat.