{
  "id": "promo-2026-map",
  "kind": "video",
  "url": "https://media.trainmap.app/videos/promo/promo-2026-map_1080x1920_17s.mp4",
  "path": "videos/promo/promo-2026-map_1080x1920_17s.mp4",
  "series": "promo",
  "variant": "map",
  "status": "awaiting-approval",
  "title": "Every train you took this year (map version)",
  "summary": "A claret line draws four real 2026 train trips on Trainmap's track: Barcelona → Paris, Paris → Berlin and Berlin → Praha, then Venezia → Wien, while the camera eases back over Europe. The trips hold on the map, then the Trainmap ticket rises in on its own and is punched, and 'Draw yours at / trainmap.app' closes the film.",
  "basemaps": [
    "Clean"
  ],
  "routes": [
    "Barcelona → Paris (1,078 km on our map)",
    "Paris → Berlin (1,166 km)",
    "Berlin → Praha (378 km, cut from Amsterdam–Prague at Berlin Hbf)",
    "Venezia → Wien (625 km)"
  ],
  "on_screen_text": [
    {
      "t": "0:00–~0:05.1",
      "text": "Every train you took / this year",
      "note": "hook in Source Serif 4; out at 4.5–5.1 s"
    },
    {
      "t": "0:00–0:09.65",
      "text": "Barcelona, Paris, Berlin, Praha, Venezia, Wien",
      "note": "station labels as each leg arrives (Paris ~2.85 s, Berlin ~5.85 s, Praha ~7.35 s, Venezia ~7.55 s, Wien ~9.65 s)"
    },
    {
      "t": "~0:11.1–0:12.55",
      "text": "Trainmap",
      "note": "wordmark on the ticket (brand logo); uncertain"
    },
    {
      "t": "0:12.9–0:16.6",
      "text": "Draw yours at / trainmap.app"
    }
  ],
  "music": "None: the file has no audio stream (ffprobe). The README doesn't mention sound. uncertain whether it was meant to be silent.",
  "post_captions": [],
  "call_to_action": {
    "on_screen": "Draw yours at trainmap.app",
    "link": "trainmap.app",
    "campaign_links_note": "Platform campaign paths from launch-marketing.md: trainmap.app/x, /ig, /th, /tt, /yt, /rd, /hn, /bs, /pin"
  },
  "cover_shows": "Clean-palette map of western and central Europe with the claret trips Barcelona → Paris → Berlin → Praha and Venezia → Wien (the Wien label is not visible on the cover)",
  "notes": [
    "Launch version: no poster.",
    "The video is SILENT, with no audio track. On TikTok or Reels, post it silent or add sound in-app. Using platform library music is the posting agent's or owner's choice; nothing in the sources says which.",
    "The map is not a live app render. It is the Clean palette re-drawn in three.js from Trainmap's own z6 vector tiles.",
    "The hook says 'this year' (2026). It goes stale in 2027.",
    "The trips are an example set of four real 2026 trips. The sources don't say whose trips they are, so don't caption them as the owner's own.",
    "Rule: never show 'Orient Express' on screen or in hashtags."
  ],
  "wiki_sources": [
    "wiki/raw/2026-10-04-launch-six/promo-threejs/README.md",
    "wiki/raw/2026-10-04-launch-six/promo-threejs/scene.js",
    "wiki/raw/2026-10-04-launch-six/promo-threejs/render.mjs",
    "wiki/pages/social-strategy.md",
    "wiki/pages/brand-identity.md"
  ],
  "status_note": "Not approved by the owner yet. Do not post.",
  "file": {
    "width": 1080,
    "height": 1920,
    "duration_s": 16.6,
    "fps": 30,
    "audio": false,
    "codec": "h264",
    "size_mb": 8.9,
    "aspect": "9:16",
    "orientation": "portrait"
  },
  "metadata_url": "https://media.trainmap.app/videos/promo/promo-2026-map_1080x1920_17s.mp4.json",
  "source": "marketing/social/trainmap-promo-2026-map.mp4",
  "cover": {
    "url": "https://media.trainmap.app/videos/promo/promo-2026-map_cover_1080x1920.jpg",
    "path": "videos/promo/promo-2026-map_cover_1080x1920.jpg",
    "width": 1080,
    "height": 1920,
    "source": "marketing/social/trainmap-promo-2026-map-cover.jpg"
  }
}