seed_data.json 43.1 KB
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912
[
  {
    "entry_id": "PD-S001",
    "category": "shot_list",
    "title": "ReelShort Episode 1 — Opening Slap Confrontation",
    "source_url": "https://lafilm.edu/blog/behind-the-scenes-with-reelshort/",
    "crawl_time": "2026-04-13T08:00:00Z",
    "content": {
      "hook_3s": "ECU of trembling hand raised to strike",
      "shots": [
        {"shot_id":"1A","size":"ECU","movement":"static","note":"trembling hand, 3s hook"},
        {"shot_id":"1B","size":"CU","movement":"rack focus","note":"antagonist eyes → protagonist cheek"},
        {"shot_id":"1C","size":"MCU","movement":"handheld","note":"slap impact + reaction"}
      ],
      "blocking": "protagonist centered on vertical axis; antagonist enters from top of frame",
      "lighting": "low-key single overhead source"
    }
  },
  {
    "entry_id": "PD-S002",
    "category": "shot_list",
    "title": "CEO Reveal — Vertical Rack Focus Sequence",
    "source_url": "https://filmustage.com/blog/vertical-drama-explained-what-you-need-to-know-in-2026/",
    "crawl_time": "2026-04-13T08:05:00Z",
    "content": {
      "hook_3s": "Executor's back in FS, door opens behind them",
      "shots": [
        {"shot_id":"2A","size":"FS","movement":"static","note":"executor back to camera"},
        {"shot_id":"2B","size":"MCU","movement":"rack focus","note":"door knob → CEO silhouette"},
        {"shot_id":"2C","size":"CU","movement":"push in","note":"CEO smirk, music drop"}
      ],
      "blocking": "Z-axis depth: executor foreground, CEO in doorway mid-ground",
      "lighting": "practical light from hallway behind CEO"
    }
  },
  {
    "entry_id": "PD-S003",
    "category": "scene_breakdown",
    "title": "Episode 5 — Fake Pregnancy Confrontation",
    "source_url": "https://www.studiobinder.com/blog/shot-list-template-free-download/",
    "crawl_time": "2026-04-13T08:10:00Z",
    "content": {
      "scene_location": "Luxury living room INT",
      "characters": ["Heroine","Rival","Maid"],
      "beats": [
        {"sec":"0-3","beat":"Hook","action":"test strip thrown on marble floor ECU"},
        {"sec":"3-15","beat":"Accusation","action":"Rival MCU screaming"},
        {"sec":"15-45","beat":"Twist","action":"Maid reveals swapped samples"},
        {"sec":"45-85","beat":"Climax","action":"Heroine slaps rival + CEO enters"},
        {"sec":"85-90","beat":"Cliffhanger","action":"freeze on CEO's unreadable expression"}
      ],
      "camera_plan": "A-cam hero CU, B-cam Rival CU, C-cam wide MCU for reveal"
    }
  },
  {
    "entry_id": "PD-S004",
    "category": "scene_breakdown",
    "title": "Hospital Corridor Chase — Vertical Tracking",
    "source_url": "https://www.studiobinder.com/blog/film-call-sheet-template/",
    "crawl_time": "2026-04-13T08:15:00Z",
    "content": {
      "scene_location": "Hospital corridor INT/NIGHT",
      "characters": ["Hero","Villain","Doctor"],
      "beats": [
        {"sec":"0-3","beat":"Hook","action":"crash cart wheels ECU"},
        {"sec":"3-20","beat":"Pursuit","action":"hero runs toward camera, corridor walls blur"},
        {"sec":"20-50","beat":"Obstacle","action":"doctor blocks path"},
        {"sec":"50-85","beat":"Climax","action":"villain appears at opposite end"},
        {"sec":"85-90","beat":"Cliffhanger","action":"elevator doors close on hero's face CU"}
      ],
      "camera_plan": "Gimbal vertical follow, 35mm lens, LED tube practicals"
    }
  },
  {
    "entry_id": "PD-S005",
    "category": "style_guide",
    "title": "DramaBox Premium Romance Look",
    "source_url": "https://filmustage.com/blog/vertical-drama-explained-what-you-need-to-know-in-2026/",
    "crawl_time": "2026-04-13T08:20:00Z",
    "content": {
      "platform": "DramaBox",
      "genre": "Premium Romance",
      "color_grade": "Teal shadows, warm skin tones, subtle film grain",
      "lighting": "Soft key + motivated practicals, eye sparkle mandatory",
      "lensing": "50mm equivalent for CU, shallow depth of field",
      "framing": "Center-weighted with 10% headroom for platform UI",
      "costume_tells": "Heroine wears emerald ring; hero wears engraved cufflinks"
    }
  },
  {
    "entry_id": "PD-S006",
    "category": "style_guide",
    "title": "ReelShort CEO Trope Visual Grammar",
    "source_url": "https://lafilm.edu/blog/behind-the-scenes-with-reelshort/",
    "crawl_time": "2026-04-13T08:25:00Z",
    "content": {
      "platform": "ReelShort",
      "genre": "CEO Romance / Revenge",
      "color_grade": "High contrast, crushed blacks, saturated highlights",
      "lighting": "Hard key from window blinds or practical desk lamp",
      "lensing": "35mm for power shots; 85mm for romantic ECU",
      "framing": "Low angles for CEO power; high angles for humiliated rivals",
      "costume_tells": "Dark tailored suits = authority; loosened tie = vulnerability"
    }
  },
  {
    "entry_id": "PD-S007",
    "category": "schedule_example",
    "title": "Day 3 Call Sheet — Mansion Arc (Pages 18-27)",
    "source_url": "https://www.studiobinder.com/blog/film-call-sheet-template/",
    "crawl_time": "2026-04-13T08:30:00Z",
    "content": {
      "date": "2026-04-13",
      "location": "Green Valley Mansion",
      "day_night": "DAY/INT",
      "pages": "18-27",
      "episodes_covered": ["E03","E04","E05"],
      "cast_calls": [
        {"character":"Heroine","makeup":"05:30","on_set":"07:00"},
        {"character":"CEO","makeup":"06:00","on_set":"07:30"},
        {"character":"Rival","makeup":"07:00","on_set":"08:30"}
      ],
      "scene_order": [
        {"scene":"SC-03-01","setup":"Living room argument","estimate":"90 min"},
        {"scene":"SC-04-02","setup":"Balcony confrontation","estimate":"60 min"},
        {"scene":"SC-05-01","setup":"Bedroom reveal","estimate":"75 min"}
      ],
      "equipment": "Sony FX6 x3, DJI RS4 Pro, Dedo kit, 35/50/85mm primes"
    }
  },
  {
    "entry_id": "PD-S008",
    "category": "schedule_example",
    "title": "Night Shoot Call Sheet — Rainy Street Arc (Pages 45-52)",
    "source_url": "https://www.studiobinder.com/blog/shot-list-template-free-download/",
    "crawl_time": "2026-04-13T08:35:00Z",
    "content": {
      "date": "2026-04-14",
      "location": "Old Town Backlot Street",
      "day_night": "NIGHT/EXT",
      "pages": "45-52",
      "episodes_covered": ["E12","E13"],
      "cast_calls": [
        {"character":"Hero","makeup":"18:00","on_set":"20:00"},
        {"character":"Antagonist","makeup":"18:30","on_set":"20:30"}
      ],
      "scene_order": [
        {"scene":"SC-12-04","setup":"Car abduction","estimate":"120 min"},
        {"scene":"SC-13-02","setup":"Alley rescue","estimate":"90 min"}
      ],
      "equipment": "FX6 x2, gimbal, rain bars, 1x1 LED panels, 35/50mm"
    }
  },
  {
    "entry_id": "PD-S009",
    "category": "shot_list",
    "title": "Wedding Crash Scene — Multi-Cam Coverage",
    "source_url": "https://sethero.com/blog/free-shot-list-template-and-guide/",
    "crawl_time": "2026-04-13T08:40:00Z",
    "content": {
      "hook_3s": "Doors burst open, bride's veil CU",
      "shots": [
        {"shot_id":"9A","size":"MCU","movement":"static","note":"bride at altar, center frame"},
        {"shot_id":"9B","size":"CU","movement":"handheld","note":"hero entering doors"},
        {"shot_id":"9C","size":"FS","movement":"gimbal push","note":"hero walks aisle, Z-axis blocking"},
        {"shot_id":"9D","size":"ECU","movement":"rack focus","note":"ring box opens"}
      ],
      "blocking": "Guests layered on both sides, hero on center axis",
      "lighting": "Practical church light + warm key on bride"
    }
  },
  {
    "entry_id": "PD-S010",
    "category": "shot_list",
    "title": "Office Power Play — Dutch Angle Sequence",
    "source_url": "https://sethero.com/blog/free-shot-list-template-and-guide/",
    "crawl_time": "2026-04-13T08:45:00Z",
    "content": {
      "hook_3s": "Document slammed on desk ECU",
      "shots": [
        {"shot_id":"10A","size":"ECU","movement":"static","note":"signed document, signature forged"},
        {"shot_id":"10B","size":"CU","movement":"Dutch tilt","note":"CEO leans over desk, dominance"},
        {"shot_id":"10C","size":"CU","movement":"Dutch tilt opposite","note":"employee shrinking, vulnerability"},
        {"shot_id":"10D","size":"MCU","movement":"level static","note":"neutral witness reaction"}
      ],
      "blocking": "CEO stands, employee seated; vertical axis tension",
      "lighting": "Hard side light, deep shadows on one cheek"
    }
  },
  {
    "entry_id": "PD-S011",
    "category": "scene_breakdown",
    "title": "Episode 8 — Paywall Cliffhanger Setup",
    "source_url": "https://jenova.ai/en/resources/best-ai-for-microdrama-screenwriting",
    "crawl_time": "2026-04-13T08:50:00Z",
    "content": {
      "scene_location": "Hospital room INT/NIGHT",
      "characters": ["Heroine","CEO","Doctor"],
      "beats": [
        {"sec":"0-3","beat":"Hook","action":"heart monitor flatline sound"},
        {"sec":"3-30","beat":"Escalation","action":"CEO forces door, doctor restrains"},
        {"sec":"30-60","beat":"Reveal","action":"pregnancy test visible on nightstand"},
        {"sec":"60-85","beat":"Climax","action":"CEO reads test, expression cracks"},
        {"sec":"85-90","beat":"Cliffhanger","action":"nurse enters: 'The patient...' CUT"}
      ],
      "camera_plan": "B-cam on CEO face throughout for continuous coverage"
    }
  },
  {
    "entry_id": "PD-S012",
    "category": "scene_breakdown",
    "title": "Episode 12 — Identity Swap Twist",
    "source_url": "https://jenova.ai/en/resources/best-ai-for-microdrama-screenwriting",
    "crawl_time": "2026-04-13T08:55:00Z",
    "content": {
      "scene_location": "Gala ballroom INT/NIGHT",
      "characters": ["True Heiress","Imposter","Father","CEO"],
      "beats": [
        {"sec":"0-3","beat":"Hook","action":"imposter smirks CU"},
        {"sec":"3-20","beat":"Confrontation","action":"true heiress enters in white dress"},
        {"sec":"20-50","beat":"Evidence","action":"necklace match under UV light"},
        {"sec":"50-80","beat":"Climax","action":"father's recognition moment"},
        {"sec":"80-90","beat":"Cliffhanger","action":"security approaches — whose side?"}
      ],
      "camera_plan": "3-camera setup: A hero, B imposter, C-wide for reveals"
    }
  },
  {
    "entry_id": "PD-S013",
    "category": "style_guide",
    "title": "Douyin Domestic Short Drama Look",
    "source_url": "https://post.smzdm.com/p/a82e358l",
    "crawl_time": "2026-04-13T09:00:00Z",
    "content": {
      "platform": "Douyin",
      "genre": "Urban romance / Family drama",
      "color_grade": "Warm skin, creamy highlights, reduced green in shadows",
      "lighting": "Beauty dish key for heroine, wraparound fill",
      "lensing": "35mm for two-shots; 50mm for romantic CU",
      "framing": "10% safe area top for UI; subject on lower vertical third",
      "costume_tells": "White = innocence; red = power reversal; black = scheming"
    }
  },
  {
    "entry_id": "PD-S014",
    "category": "style_guide",
    "title": "Kuaishou Micro-Drama Fast Production Aesthetic",
    "source_url": "https://post.smzdm.com/p/a82e358l",
    "crawl_time": "2026-04-13T09:05:00Z",
    "content": {
      "platform": "Kuaishou",
      "genre": "Revenge / Rural-urban clash",
      "color_grade": "Saturation bumped +15%, contrast high",
      "lighting": "On-camera LED + bounce for speed; flatter acceptable",
      "lensing": "24-70mm zoom to minimize lens changes",
      "framing": "Center punch framing, quick push-ins on dialogue beats",
      "costume_tells": "Cheap costume = sympathetic; flashy logos = villain"
    }
  },
  {
    "entry_id": "PD-S015",
    "category": "lighting_setup",
    "title": "Three-Point Beauty Setup for Heroine CU",
    "source_url": "https://nofilmschool.com/lighting-techniques-in-film",
    "crawl_time": "2026-04-13T09:10:00Z",
    "content": {
      "setup_name": "Heroine Beauty Close-Up",
      "key_light": "Dedo Panaura dome, 45° camera left, eye level",
      "fill_light": "1x1 LED at -2 stops, camera right",
      "back_light": "Hair light from above and behind, warm gel",
      "modifiers": "Diffusion on key, black flag to reduce spill",
      "notes": "Catchlight in both eyes mandatory for vertical CU; 5600K base"
    }
  },
  {
    "entry_id": "PD-S016",
    "category": "lighting_setup",
    "title": "Low-Key Villain Confrontation",
    "source_url": "https://nofilmschool.com/lighting-techniques-in-film",
    "crawl_time": "2026-04-13T09:15:00Z",
    "content": {
      "setup_name": "Villain Low-Key Intimidation",
      "key_light": "Hard source from high side, single direction",
      "fill_light": "No fill — negative fill card on shadow side",
      "back_light": "None; rim from practical lamp behind subject",
      "modifiers": "Barn doors to create slash across face",
      "notes": "Deep shadows hide one eye; use smoke/haze to see light rays"
    }
  },
  {
    "entry_id": "PD-S017",
    "category": "lighting_setup",
    "title": "Practical Night Intimacy Scene",
    "source_url": "https://www.moviemachine.tv/video/lighting-techniques-for-drama-based-cinematography-part-1/210099029/",
    "crawl_time": "2026-04-13T09:20:00Z",
    "content": {
      "setup_name": "Bedside Lamp Intimacy",
      "key_light": "Practical table lamp motivates key, 3200K",
      "fill_light": "Bounced LED book light at -3 stops",
      "back_light": "Window moonlight from outside, 6500K gel",
      "modifiers": "Sheer curtain diffusion for window source",
      "notes": "Keep faces in warm key while background goes cooler; vertical 9:16 means both faces must read in split-frame"
    }
  },
  {
    "entry_id": "PD-S018",
    "category": "ai_tool",
    "title": "Shai AI Storyboard — Vertical Pre-Viz Workflow",
    "source_url": "https://shaicreative.ai/best-ai-storyboard-generator-for-film/",
    "crawl_time": "2026-04-13T09:25:00Z",
    "content": {
      "tool": "Shai AI Storyboard",
      "use_case": "Rapid 9:16 pre-viz for director and investors",
      "workflow": "Upload script → select 9:16 → choose cinematic style → generate shots → iterate with fast mode → deliver high-quality boards for PPM",
      "vertical_features": ["9:16 native framing guides","character consistency across frames","camera movement arrows"],
      "time_saved_vs_manual": "~40% reduction in pre-production art time"
    }
  },
  {
    "entry_id": "PD-S019",
    "category": "ai_tool",
    "title": "Virtual Dynamic Storyboard (VDS) for Virtual Production",
    "source_url": "https://ar5iv.labs.arxiv.org/html/2301.12688",
    "crawl_time": "2026-04-13T09:30:00Z",
    "content": {
      "tool": "Virtual Dynamic Storyboard (VDS)",
      "use_case": "Engine-based virtual set pre-visualization",
      "workflow": "Script input + camera script → 3D trajectory generation → shot ranking by contrastive discriminator",
      "vertical_features": ["Dynamic camera paths","Character trajectory visualization","Export to Unreal Engine"],
      "limitations": "Quality depends on asset library; less pen-level control than hand-drawn"
    }
  },
  {
    "entry_id": "PD-S020",
    "category": "camera_setup",
    "title": "Vertical 9:16 Rig Configuration",
    "source_url": "https://filmustage.com/blog/vertical-drama-explained-what-you-need-to-know-in-2026/",
    "crawl_time": "2026-04-13T09:35:00Z",
    "content": {
      "camera_body": "Sony FX6",
      "rig": "Tilta cage + side handle + right-angle HDMI adapter",
      "recording_format": "4K 60p for slo-mo option; 120p for action beat slow-motion",
      "monitoring": "7-inch monitor rotated 90° for tall framing reference",
      "lens_kit": "35mm f/1.4, 50mm f/1.2, 85mm f/1.8",
      "notes": "Minimize lens swaps by blocking scenes per focal length cluster"
    }
  },
  {
    "entry_id": "PD-S021",
    "category": "camera_setup",
    "title": "Multi-Cam Rapid Coverage Setup",
    "source_url": "https://lafilm.edu/blog/behind-the-scenes-with-reelshort/",
    "crawl_time": "2026-04-13T09:40:00Z",
    "content": {
      "camera_body": "3x Sony FX3",
      "a_cam": "35mm on dolly/slider for master movement",
      "b_cam": "85mm static for tight CU coverage",
      "c_cam": "50mm handheld for reaction inserts and reverses",
      "sync": "Tentacle Sync for each camera + audio recorder",
      "notes": "All cameras roll on every setup to reduce actor repetitions on 29-page days"
    }
  },
  {
    "entry_id": "PD-S022",
    "category": "shot_list",
    "title": "Elevator Reunion — Vertical Spatial Storytelling",
    "source_url": "https://sethero.com/blog/free-shot-list-template-and-guide/",
    "crawl_time": "2026-04-13T09:45:00Z",
    "content": {
      "hook_3s": "Elevator floor number flickers: 'Penthouse' ECU",
      "shots": [
        {"shot_id":"22A","size":"ECU","movement":"static","note":"floor indicator, hook"},
        {"shot_id":"22B","size":"CU","movement":"push in","note":"heroine breathing, anxiety"},
        {"shot_id":"22C","size":"MCU","movement":"vertical tilt up","note":"doors open, CEO revealed"},
        {"shot_id":"22D","size":"CU","movement":"rack focus","note":"her eyes → his hand reaching"}
      ],
      "blocking": "Heroine lower frame, CEO upper frame when doors open; vertical axis separation expresses emotional distance",
      "lighting": "Cool practical elevator light → warm penthouse hallway behind CEO"
    }
  },
  {
    "entry_id": "PD-S023",
    "category": "shot_list",
    "title": "Car Interior Argument — Confined 9:16 Coverage",
    "source_url": "https://www.studiobinder.com/blog/shot-list-template-free-download/",
    "crawl_time": "2026-04-13T09:50:00Z",
    "content": {
      "hook_3s": "Phone screen notification: 'DNA Results' ECU",
      "shots": [
        {"shot_id":"23A","size":"ECU","movement":"static","note":"phone screen, hook"},
        {"shot_id":"23B","size":"CU","movement":"handheld","note":"driver protagonist reaction"},
        {"shot_id":"23C","size":"CU","movement":"handheld opposite","note":"passenger antagonist reaction"},
        {"shot_id":"23D","size":"MCU","movement":"gimbal slight push","note":"both profiles, rain on window"}
      ],
      "blocking": "Driver lower vertical third, passenger upper vertical third; no horizontal two-shot possible",
      "lighting": "Practical dashboard glow + moving streetlight exterior"
    }
  },
  {
    "entry_id": "PD-S024",
    "category": "scene_breakdown",
    "title": "Episode 21 — The Will Reading Reversal",
    "source_url": "https://jenova.ai/en/resources/best-ai-for-microdrama-screenwriting",
    "crawl_time": "2026-04-13T09:55:00Z",
    "content": {
      "scene_location": "Lawyer office INT/DAY",
      "characters": ["Lawyer","Family members","Hidden heir","Villain"],
      "beats": [
        {"sec":"0-3","beat":"Hook","action":"sealed envelope slapped on mahogany desk"},
        {"sec":"3-20","beat":"Expectation","action":"villain smirks, sure of inheritance"},
        {"sec":"20-50","beat":"Twist","action":"lawyer names hidden heir"},
        {"sec":"50-80","beat":"Climax","action":"villain lunges, stopped by security"},
        {"sec":"80-90","beat":"Cliffhanger","action":"hidden heir opens letter — 'This isn't over'"}
      ],
      "camera_plan": "A-cam on lawyer throughout; B-cam on villain reactions; C-cam ECU of document"
    }
  },
  {
    "entry_id": "PD-S025",
    "category": "scene_breakdown",
    "title": "Episode 33 — Rooftop Confession Rain Scene",
    "source_url": "https://jenova.ai/en/resources/best-ai-for-microdrama-screenwriting",
    "crawl_time": "2026-04-13T10:00:00Z",
    "content": {
      "scene_location": "Rooftop EXT/NIGHT/RAIN",
      "characters": ["Hero","Heroine","Ex-fiance"],
      "beats": [
        {"sec":"0-3","beat":"Hook","action":"ring tossed over rooftop edge, slow-mo ECU"},
        {"sec":"3-25","beat":"Confrontation","action":"ex-fiance screams in rain"},
        {"sec":"25-55","beat":"Confession","action":"hero pulls heroine into umbrella"},
        {"sec":"55-82","beat":"Climax","action":"kiss in rain, city lights behind"},
        {"sec":"82-90","beat":"Cliffhanger","action":"ex-fiance's smile: 'You'll regret this'"}
      ],
      "camera_plan": "Rain bars required; backlight for rain visibility; 85mm for romantic CU; 35mm wide for city backdrop"
    }
  },
  {
    "entry_id": "PD-S026",
    "category": "style_guide",
    "title": "FlexTV Wuxia / Xianxia Vertical Aesthetic",
    "source_url": "https://filmustage.com/blog/vertical-drama-explained-what-you-need-to-know-in-2026/",
    "crawl_time": "2026-04-13T10:05:00Z",
    "content": {
      "platform": "FlexTV",
      "genre": "Wuxia / Xianxia",
      "color_grade": "Desaturated earth tones with teal/cyan magic effects",
      "lighting": "High-key for immortals, low-key for demons; color-coded by faction",
      "lensing": "24mm for martial arts wide action; 50mm for emotional standoff",
      "framing": "Vertical sword draws read top-to-bottom; silk robes fill frame width",
      "costume_tells": "White = orthodox sect; red = demonic; gold trim = elder status"
    }
  },
  {
    "entry_id": "PD-S027",
    "category": "style_guide",
    "title": "MyDrama Horror-Thriller Micro-Series Look",
    "source_url": "https://filmustage.com/blog/vertical-drama-explained-what-you-need-to-know-in-2026/",
    "crawl_time": "2026-04-13T10:10:00Z",
    "content": {
      "platform": "MyDrama",
      "genre": "Horror-thriller",
      "color_grade": "Desaturated, lifted blacks, green push in shadows",
      "lighting": "Motivated practicals only; underexposed by 1 stop for noise texture",
      "lensing": "35mm handheld for POV immersion; occasional 16mm distorted wide for dread",
      "framing": "Negative space above head; subject pushed to lower third for lurking threat in top frame",
      "costume_tells": "Protagonist in white (victim) vs. entity in red (danger)"
    }
  },
  {
    "entry_id": "PD-S028",
    "category": "schedule_example",
    "title": "Virtual Stage Shoot Call Sheet — Palace Interior",
    "source_url": "https://www.studiobinder.com/blog/film-call-sheet-template/",
    "crawl_time": "2026-04-13T10:15:00Z",
    "content": {
      "date": "2026-04-15",
      "location": "Stage 4 LED Volume (Palace virtual set)",
      "day_night": "DAY/INT",
      "pages": "25-35",
      "episodes_covered": ["E15","E16","E17"],
      "cast_calls": [
        {"character":"Emperor","makeup":"04:00","on_set":"06:00"},
        {"character":"Consort","makeup":"04:30","on_set":"06:30"},
        {"character":"Eunuch","makeup":"05:00","on_set":"07:00"}
      ],
      "scene_order": [
        {"scene":"SC-15-03","setup":"Throne room decree","estimate":"60 min"},
        {"scene":"SC-16-01","setup":"Inner chamber conspiracy","estimate":"75 min"},
        {"scene":"SC-17-02","setup":"Garden courtyard (LED content swap)","estimate":"45 min"}
      ],
      "equipment": "FX6 x3, LED volume, wireless follow focus, 24/35/50mm, smoke machine"
    }
  },
  {
    "entry_id": "PD-S029",
    "category": "schedule_example",
    "title": "Fast Turnaround Call Sheet — Cafe x Office Block",
    "source_url": "https://www.studiobinder.com/blog/shot-list-template-free-download/",
    "crawl_time": "2026-04-13T10:20:00Z",
    "content": {
      "date": "2026-04-16",
      "location": "Sunset Cafe / adjacent office tower",
      "day_night": "DAY/INT",
      "pages": "12-20",
      "episodes_covered": ["E06","E07"],
      "cast_calls": [
        {"character":"Intern","makeup":"07:00","on_set":"08:00"},
        {"character":"Manager","makeup":"07:30","on_set":"08:30"}
      ],
      "scene_order": [
        {"scene":"SC-06-01","setup":"Cafe spill incident","estimate":"45 min"},
        {"scene":"SC-06-03","setup":"Cafe kitchen argument","estimate":"30 min"},
        {"scene":"SC-07-02","setup":"Office tower elevator","estimate":"30 min"},
        {"scene":"SC-07-04","setup":"Manager office confrontation","estimate":"40 min"}
      ],
      "equipment": "FX3 x2, gimbal, 35/85mm, portable LED panel kit"
    }
  },
  {
    "entry_id": "PD-S030",
    "category": "shot_list",
    "title": "Slap Sequence — Split-Second Multi-Cam",
    "source_url": "https://lafilm.edu/blog/behind-the-scenes-with-reelshort/",
    "crawl_time": "2026-04-13T10:25:00Z",
    "content": {
      "hook_3s": "Antagonist's hand raised, ring glints ECU",
      "shots": [
        {"shot_id":"30A","size":"ECU","movement":"static","note":"ring catching light"},
        {"shot_id":"30B","size":"CU","movement":"static","note":"protagonist flinching anticipation"},
        {"shot_id":"30C","size":"ECU","movement":"high speed","note":"hand connecting with cheek"},
        {"shot_id":"30D","size":"CU","movement":"handheld","note":"protagonist tear welling"},
        {"shot_id":"30E","size":"CU","movement":"handheld","note":"antagonist smirk of satisfaction"}
      ],
      "blocking": "Profiles to camera; vertical frame captures both reactions in rapid cuts",
      "lighting": "Hard key to sculpt cheekbone impact shadow"
    }
  },
  {
    "entry_id": "PD-S031",
    "category": "shot_list",
    "title": "Mirror Reveal — Doppelganger Scene",
    "source_url": "https://sethero.com/blog/free-shot-list-template-and-guide/",
    "crawl_time": "2026-04-13T10:30:00Z",
    "content": {
      "hook_3s": "Steam clears from mirror, wrong reflection CU",
      "shots": [
        {"shot_id":"31A","size":"MCU","movement":"static","note":"protagonist wipes mirror"},
        {"shot_id":"31B","size":"CU","movement":"push in","note":"mirror reflection doesn't match movement"},
        {"shot_id":"31C","size":"ECU","movement":"static","note":"protagonist eye widening"},
        {"shot_id":"31D","size":"FS","movement":"pull out","note":"room empty, mirror now normal"}
      ],
      "blocking": "Actor and body double positioned for mirror trick; 45° camera angle",
      "lighting": "Bathroom practical overhead; fog machine for steam effect"
    }
  },
  {
    "entry_id": "PD-S032",
    "category": "scene_breakdown",
    "title": "Episode 18 — Contract Marriage Signing",
    "source_url": "https://jenova.ai/en/resources/best-ai-for-microdrama-screenwriting",
    "crawl_time": "2026-04-13T10:35:00Z",
    "content": {
      "scene_location": "CEO Penthouse office INT/DAY",
      "characters": ["Heroine","CEO","Assistant","Grandmother"],
      "beats": [
        {"sec":"0-3","beat":"Hook","action":" Contract slapped on desk, pen offered"},
        {"sec":"3-20","beat":"Pressure","action":"grandmother demands signature"},
        {"sec":"20-45","beat":"Resistance","action":"heroine reads impossible clauses"},
        {"sec":"45-75","beat":"Turn","action":"CEO changes terms in her favor"},
        {"sec":"75-88","beat":"Climax","action":"both sign simultaneously"},
        {"sec":"88-90","beat":"Cliffhanger","action":"CEO pulls her close: 'Now we begin'"}
      ],
      "camera_plan": "A-cam on contract and hands; B-cam on faces; C-cam on grandmother reactions"
    }
  },
  {
    "entry_id": "PD-S033",
    "category": "scene_breakdown",
    "title": "Episode 27 — Abandoned Warehouse Rescue",
    "source_url": "https://jenova.ai/en/resources/best-ai-for-microdrama-screenwriting",
    "crawl_time": "2026-04-13T10:40:00Z",
    "content": {
      "scene_location": "Warehouse EXT/INT/NIGHT",
      "characters": ["Hero","Villain","Captive","Henchman"],
      "beats": [
        {"sec":"0-3","beat":"Hook","action":"tied hands struggling ECU"},
        {"sec":"3-25","beat":"Threat","action":"villain circles with weapon"},
        {"sec":"25-50","beat":"Arrival","action":"car headlights sweep warehouse entrance"},
        {"sec":"50-78","beat":"Fight","action":"hero dispatches henchmen in rapid cuts"},
        {"sec":"78-88","beat":"Climax","action":"hero unties captive, villain escapes"},
        {"sec":"88-90","beat":"Cliffhanger","action":"bomb timer visible on pillar"}
      ],
      "camera_plan": "Gimbal for fight; 24mm for car arrival wide; 50mm for emotional release"
    }
  },
  {
    "entry_id": "PD-S034",
    "category": "lighting_setup",
    "title": "Diner Golden Hour Exterior Through Window",
    "source_url": "https://nofilmschool.com/lighting-techniques-in-film",
    "crawl_time": "2026-04-13T10:45:00Z",
    "content": {
      "setup_name": "Diner Window Romance",
      "key_light": "Setting sun backlight through window, 3200K gel on interior practicals",
      "fill_light": "Bounce card under table level for eye fill",
      "back_light": "Sun itself acts as back/rim on hair",
      "modifiers": "ND gel on window to hold exterior detail",
      "notes": "Keep interior 1 stop under exterior for silhouette-to-reveal option"
    }
  },
  {
    "entry_id": "PD-S035",
    "category": "lighting_setup",
    "title": "Warehouse Action High-Contrast Setup",
    "source_url": "https://nofilmschool.com/lighting-techniques-in-film",
    "crawl_time": "2026-04-13T10:50:00Z",
    "content": {
      "setup_name": "Warehouse Night Fight",
      "key_light": "Overhead HMIs through broken skylight pools",
      "fill_light": "Bounce off concrete floor only",
      "back_light": "Practical flickering fluorescent tubes",
      "modifiers": "Smoke/haze to see light shafts and silhouettes",
      "notes": "Vertical 9:16 emphasizes falling light from above; characters enter and exit pools of light"
    }
  },
  {
    "entry_id": "PD-S036",
    "category": "ai_tool",
    "title": "Script Breakdown AI for Props and Casting",
    "source_url": "https://filmustage.com/blog/vertical-drama-explained-what-you-need-to-know-in-2026/",
    "crawl_time": "2026-04-13T10:55:00Z",
    "content": {
      "tool": "Filmustage / Script breakdown AI",
      "use_case": "Auto-extract scenes, props, cast, locations, costumes from script",
      "workflow": "Upload PDF script → AI segments scenes → generates shooting schedule draft → exports to StudioBinder",
      "vertical_features": ["Character appearance tracking","Prop continuity lists","Location clustering suggestions"],
      "time_saved_vs_manual": "Scheduling prep reduced from 2 days to 4 hours"
    }
  },
  {
    "entry_id": "PD-S037",
    "category": "ai_tool",
    "title": "LED Volume Content Generation Pipeline",
    "source_url": "https://ar5iv.labs.arxiv.org/html/2301.12688",
    "crawl_time": "2026-04-13T11:00:00Z",
    "content": {
      "tool": "Stable Diffusion / Midjourney to Unreal Engine",
      "use_case": "Generate virtual set backplates for LED volume stages",
      "workflow": "Generate concept in 16:9 or custom aspect → upscale → tile for parallax → import to UE5 → render to LED wall",
      "vertical_features": ["Custom aspect ratio generation","Depth-aware extensions for camera movement","Style consistency across sequences"],
      "notes": "Supplemental key lights essential; LED spill affects skin tones"
    }
  },
  {
    "entry_id": "PD-S038",
    "category": "camera_setup",
    "title": "Drone Vertical Establishing Shots",
    "source_url": "https://filmustage.com/blog/vertical-drama-explained-what-you-need-to-know-in-2026/",
    "crawl_time": "2026-04-13T11:05:00Z",
    "content": {
      "camera_body": "DJI Inspire 3 with X9 gimbal",
      "recording_format": "8K ProRes for heavy reframing to 9:16",
      "workflow": "Shoot 8K wide → extract vertical center crop in post → add digital push-ins",
      "lensing": "24mm equivalent on wide plate allows comfortable 9:16 extraction",
      "notes": "Keep main subject in center 40% of frame during flight to preserve for vertical crop"
    }
  },
  {
    "entry_id": "PD-S039",
    "category": "camera_setup",
    "title": "Underwater Vertical Rig for Dream Sequences",
    "source_url": "https://lafilm.edu/blog/behind-the-scenes-with-reelshort/",
    "crawl_time": "2026-04-13T11:10:00Z",
    "content": {
      "camera_body": "Sony FX3 in Aquatica housing",
      "recording_format": "4K 120p for underwater slow-motion fabric movement",
      "workflow": "Overhead LED panel array for even key; black velvet surround for infinite depth",
      "lensing": "16mm dome port for wide coverage in small tank",
      "notes": "Vertical frame naturally fits sinking/rising motion; actress position controlled by weighted harness"
    }
  },
  {
    "entry_id": "PD-S040",
    "category": "shot_list",
    "title": "Boardroom Vote — Power Dynamics in 9:16",
    "source_url": "https://sethero.com/blog/free-shot-list-template-and-guide/",
    "crawl_time": "2026-04-13T11:15:00Z",
    "content": {
      "hook_3s": "Gavel strike ECU, sound effect thunder",
      "shots": [
        {"shot_id":"40A","size":"ECU","movement":"static","note":"gavel striking block"},
        {"shot_id":"40B","size":"CU","movement":"low angle push","note":"heroine stands, defiant"},
        {"shot_id":"40C","size":"CU","movement":"high angle tilt","note":"board members looking down"},
        {"shot_id":"40D","size":"MCU","movement":"vertical pan up","note":"vote cards raised, decisive moment"}
      ],
      "blocking": "Heroine center axis; board members arrayed in depth behind long table",
      "lighting": "Heroine in warm key; board in cooler, flatter light"
    }
  },
  {
    "entry_id": "PD-S041",
    "category": "shot_list",
    "title": "Family Dinner — Layered Depth in Vertical Frame",
    "source_url": "https://www.studiobinder.com/blog/shot-list-template-free-download/",
    "crawl_time": "2026-04-13T11:20:00Z",
    "content": {
      "hook_3s": "Chopsticks drop, slow-motion ECU",
      "shots": [
        {"shot_id":"41A","size":"ECU","movement":"high speed","note":"chopsticks falling to table"},
        {"shot_id":"41B","size":"CU","movement":"static","note":"grandmother's unreadable expression"},
        {"shot_id":"41C","size":"MCU","movement":"rack focus","note":"foreground bowl → background accusation"},
        {"shot_id":"41D","size":"CU","movement":"handheld","note":"younger sister crying silently"}
      ],
      "blocking": "Table runs diagonal from lower-left to upper-right; actors at three depth planes",
      "lighting": "Overhead practical pendant lights motivated as key"
    }
  },
  {
    "entry_id": "PD-S042",
    "category": "scene_breakdown",
    "title": "Episode 55 — Finale Dress Reveal",
    "source_url": "https://jenova.ai/en/resources/best-ai-for-microdrama-screenwriting",
    "crawl_time": "2026-04-13T11:25:00Z",
    "content": {
      "scene_location": "Fashion gala INT/NIGHT",
      "characters": ["Transformed heroine","Ex-boyfriend","New love interest","Rival"],
      "beats": [
        {"sec":"0-3","beat":"Hook","action":"curtains part, spotlight hits red dress"},
        {"sec":"3-20","beat":"Recognition","action":"ex-boyfriend drops champagne glass slow-mo"},
        {"sec":"20-45","beat":"Confrontation","action":"rival's shocked face, makeup streaked"},
        {"sec":"45-75","beat":"Ascension","action":"heroine walks stairs, all eyes on her"},
        {"sec":"75-88","beat":"Climax","action":"new love interest offers hand at top"},
        {"sec":"88-90","beat":"Cliffhanger","action":"ex-boyfriend steps forward: 'Wait' — CUT"}
      ],
      "camera_plan": "Gimbal following staircase ascent; 85mm on heroine; 35mm wide for crowd reactions"
    }
  },
  {
    "entry_id": "PD-S043",
    "category": "scene_breakdown",
    "title": "Episode 60 — Final Reconciliation on Rainy Street",
    "source_url": "https://jenova.ai/en/resources/best-ai-for-microdrama-screenwriting",
    "crawl_time": "2026-04-13T11:30:00Z",
    "content": {
      "scene_location": "European street EXT/NIGHT/RAIN",
      "characters": ["Hero","Heroine","Taxi driver"],
      "beats": [
        {"sec":"0-3","beat":"Hook","action":"suitcase wheels on wet cobblestone ECU"},
        {"sec":"3-25","beat":"Departure","action":"heroine gets in taxi, heartbroken"},
        {"sec":"25-50","beat":"Chase","action":"hero runs through rain after taxi"},
        {"sec":"50-75","beat":"Stop","action":"taxi halts at red light"},
        {"sec":"75-88","beat":"Climax","action":"door opens, they kiss in the rain"},
        {"sec":"88-90","beat":"Resolution","action":"taxi drives away empty, umbrella abandoned"}
      ],
      "camera_plan": "Rain bars, street lights practicals, gimbal for chase, 50mm for kiss CU"
    }
  },
  {
    "entry_id": "PD-S044",
    "category": "style_guide",
    "title": "Global Holiday Special Vertical Aesthetic",
    "source_url": "https://filmustage.com/blog/vertical-drama-explained-what-you-need-to-know-in-2026/",
    "crawl_time": "2026-04-13T11:35:00Z",
    "content": {
      "platform": "Multiple (ReelShort / DramaBox)",
      "genre": "Holiday romance / Family reunion",
      "color_grade": "Warm amber highlights, soft vignette, subtle snow overlay",
      "lighting": "Twinkle lights as practical bokeh; firelight warmth on faces",
      "lensing": "50mm for family groupings; 85mm for romantic fireside CU",
      "framing": "Decorated Christmas tree fills background height; faces in foreground",
      "costume_tells": "Red sweaters = belonging; business suit = outsider status"
    }
  },
  {
    "entry_id": "PD-S045",
    "category": "style_guide",
    "title": "Period Drama Palace Interior Vertical Style",
    "source_url": "https://filmustage.com/blog/vertical-drama-explained-what-you-need-to-know-in-2026/",
    "crawl_time": "2026-04-13T11:40:00Z",
    "content": {
      "platform": "DramaBox / FlexTV",
      "genre": "Palace intrigue / Historical romance",
      "color_grade": "Desaturated except for imperial yellow and crimson accents",
      "lighting": "Candlelight motivated; Dedos with flame flicker gels",
      "lensing": "35mm for throne room vertical pillars; 85mm for whispered conspiracy CU",
      "framing": "Use palace pillars as natural vertical leading lines",
      "costume_tells": "Yellow = emperor; phoenix crown = empress; plain = servant"
    }
  },
  {
    "entry_id": "PD-S046",
    "category": "lighting_setup",
    "title": "Firelight Camp Scene for Outdoor Drama",
    "source_url": "https://www.moviemachine.tv/video/lighting-techniques-for-drama-based-cinematography-part-1/210099029/",
    "crawl_time": "2026-04-13T11:45:00Z",
    "content": {
      "setup_name": "Campfire Intimacy Scene",
      "key_light": "1K tungsten bounced off gold reflector to simulate fire glow",
      "fill_light": "Dim LED panel with CTO gel for shadow detail",
      "back_light": "Real campfire kept low for interactive eye light and shadows",
      "modifiers": "Flag to keep sky dark and starry; soft frost on key",
      "notes": "Keep fire between actors and camera for dancing shadows on faces; vertical frame emphasizes rising flames"
    }
  },
  {
    "entry_id": "PD-S047",
    "category": "camera_setup",
    "title": "Time-Lapse Vertical Rig for Transitions",
    "source_url": "https://filmustage.com/blog/vertical-drama-explained-what-you-need-to-know-in-2026/",
    "crawl_time": "2026-04-13T11:50:00Z",
    "content": {
      "camera_body": "Sony A7S III in vertical L-bracket",
      "recording_format": "4K interval recording for sunrise/sunset transitions",
      "workflow": "Lock off on tripod for 2-hour windows; deflicker in post; speed ramp to 2 seconds",
      "lensing": "14mm wide for dramatic sky coverage in 9:16",
      "notes": "Place significant action in lower half so sky transition dominates the tall frame"
    }
  },
  {
    "entry_id": "PD-S048",
    "category": "schedule_example",
    "title": "Final Week Call Sheet — Wrap Sprint Schedule",
    "source_url": "https://www.studiobinder.com/blog/film-call-sheet-template/",
    "crawl_time": "2026-04-13T11:55:00Z",
    "content": {
      "date": "2026-04-20",
      "location": "Multiple: Hospital / Rooftop / Street",
      "day_night": "MIXED",
      "pages": "85-95",
      "episodes_covered": ["E88","E89","E90"],
      "cast_calls": [
        {"character":"All principals","makeup":"05:00","on_set":"07:00"}
      ],
      "scene_order": [
        {"scene":"SC-88-05","setup":"Hospital resolution","estimate":"60 min"},
        {"scene":"SC-89-03","setup":"Rooftop speech","estimate":"45 min"},
        {"scene":"SC-90-01","setup":"Street reunion finale","estimate":"90 min"}
      ],
      "equipment": "Full kit: FX6 x3, gimbal, drone, rain bars, LED volume day wrap"
    }
  },
  {
    "entry_id": "PD-S049",
    "category": "shot_list",
    "title": "Birthday Cake Reveal — Suspense in Domestic Space",
    "source_url": "https://www.studiobinder.com/blog/shot-list-template-free-download/",
    "crawl_time": "2026-04-13T12:00:00Z",
    "content": {
      "hook_3s": "Candles blown out, smoke trails ECU",
      "shots": [
        {"shot_id":"49A","size":"ECU","movement":"static","note":"candle smoke twisting"},
        {"shot_id":"49B","size":"CU","movement":"push in","note":"child blowing candles"},
        {"shot_id":"49C","size":"MCU","movement":"rack focus","note":"cake knife → mother's nervous hands"},
        {"shot_id":"49D","size":"CU","movement":"static","note":"father's unreadable smile"}
      ],
      "blocking": "Child centered at table; adults form diagonal behind",
      "lighting": "Warm practical candles motivated; soft key from window daylight"
    }
  },
  {
    "entry_id": "PD-S050",
    "category": "shot_list",
    "title": "Prison Visit — Glass Partition Emotional Barrier",
    "source_url": "https://sethero.com/blog/free-shot-list-template-and-guide/",
    "crawl_time": "2026-04-13T12:05:00Z",
    "content": {
      "hook_3s": "Phone receiver clicking into cradle ECU",
      "shots": [
        {"shot_id":"50A","size":"ECU","movement":"static","note":"phone receiver, hook sound"},
        {"shot_id":"50B","size":"CU","movement":"static","note":"visitor pressing hand to glass"},
        {"shot_id":"50C","size":"CU","movement":"static opposite","note":"inmate's matching hand on other side"},
        {"shot_id":"50D","size":"MCU","movement":"slow tilt down","note":"both profiles through scratched glass"}
      ],
      "blocking": "Glass partition creates vertical division; actors on opposite horizontal sides of 9:16 frame",
      "lighting": "Visitor side warm, inmate side cool/green to imply institutional fluorescent"
    }
  },
  {
    "entry_id": "PD-S051",
    "category": "scene_breakdown",
    "title": "Episode 42 — The Public Humiliation Reversal",
    "source_url": "https://jenova.ai/en/resources/best-ai-for-microdrama-screenwriting",
    "crawl_time": "2026-04-13T12:10:00Z",
    "content": {
      "scene_location": "Luxury boutique INT/DAY",
      "characters": ["Heroine","Shop manager","Rude customer","CEO"],
      "beats": [
        {"sec":"0-3","beat":"Hook","action":"credit card cut in half ECU"},
        {"sec":"3-20","beat":"Humiliation","action":"manager demands heroine leave"},
        {"sec":"20-45","beat":"Arrival","action":"CEO enters with black card"},
        {"sec":"45-75","beat":"Reversal","action":"store given to heroine on spot"},
        {"sec":"75-88","beat":"Climax","action":"rude customer apologizes"},
        {"sec":"88-90","beat":"Cliffhanger","action":"CEO's phone rings: emergency"}
      ],
      "camera_plan": "A on heroine reactions; B on CEO entrance; C on gawking extras"
    }
  },
  {
    "entry_id": "PD-S052",
    "category": "ai_tool",
    "title": "Auto-Caption and Multi-Language Subtitle Timing",
    "source_url": "https://shaicreative.ai/best-ai-storyboard-generator-for-film/",
    "crawl_time": "2026-04-13T12:15:00Z",
    "content": {
      "tool": "Descript / Whisper + subtitle pipeline",
      "use_case": "Rapid multi-language subtitle generation for global distribution",
      "workflow": "Export audio → Whisper transcription → timestamp sync → translate to EN/ES/ID/PT → burn to vertical safe zone",
      "vertical_features": ["Auto line-break for narrow 9:16 text blocks","Speaker detection for dialogue-heavy scenes","Export to ReelShort/DramaBox spec"],
      "notes": "Keep subtitles in lower 20% of frame to avoid platform UI overlap"
    }
  }
]