|
16 | 16 | <path d="M4 2.5a3 3 0 00-1.76 5.43L7.33 11l-5.09 3.07A3 3 0 104.8 19.5a3 3 0 001.76-5.43L8.93 12.6 16.5 17V5L8.93 9.4 6.56 7.93A3 3 0 004 2.5z" fill="var(--accent)"/> |
17 | 17 | </svg> |
18 | 18 | <span class="oc-logo">OpenCut</span> |
19 | | - <span class="oc-version">v1.9.8</span> |
| 19 | + <span class="oc-version">v1.9.9</span> |
20 | 20 | </div> |
21 | 21 | <div class="oc-header-right"> |
22 | 22 | <div class="oc-connection" id="connectionStatus" title="Backend connection status"> |
|
595 | 595 | </div> |
596 | 596 | </div> |
597 | 597 |
|
| 598 | + <div class="oc-section-title">AI Upscale</div> |
| 599 | + <div class="oc-card"> |
| 600 | + <div class="oc-card-header collapsible" data-target="upscaleBody"> |
| 601 | + <span>Real-ESRGAN Video Upscale</span> |
| 602 | + <svg class="oc-chevron" width="10" height="10" viewBox="0 0 16 16" fill="currentColor"><path d="M1.646 4.646a.5.5 0 01.708 0L8 10.293l5.646-5.647a.5.5 0 01.708.708l-6 6a.5.5 0 01-.708 0l-6-6a.5.5 0 010-.708z"/></svg> |
| 603 | + </div> |
| 604 | + <div class="oc-card-body" id="upscaleBody"> |
| 605 | + <div class="oc-field-row"> |
| 606 | + <label class="oc-label" for="upscaleScaleUxp">Scale Factor</label> |
| 607 | + <select class="oc-select" id="upscaleScaleUxp"> |
| 608 | + <option value="2" selected>2x</option> |
| 609 | + <option value="3">3x</option> |
| 610 | + <option value="4">4x</option> |
| 611 | + </select> |
| 612 | + </div> |
| 613 | + <div class="oc-field-row"> |
| 614 | + <label class="oc-label" for="upscaleModelUxp">Model</label> |
| 615 | + <select class="oc-select" id="upscaleModelUxp"> |
| 616 | + <option value="realesrgan-x4plus" selected>RealESRGAN x4plus</option> |
| 617 | + <option value="realesrgan-x4plus-anime">Anime</option> |
| 618 | + <option value="realesrgan-x2plus">RealESRGAN x2plus</option> |
| 619 | + </select> |
| 620 | + </div> |
| 621 | + <button class="oc-btn oc-btn-primary oc-btn-full" id="runUpscaleBtnUxp">Upscale Video</button> |
| 622 | + </div> |
| 623 | + </div> |
| 624 | + |
| 625 | + <div class="oc-section-title">Scene Detection</div> |
| 626 | + <div class="oc-card"> |
| 627 | + <div class="oc-card-header collapsible" data-target="sceneDetectBody"> |
| 628 | + <span>Detect Scene Boundaries</span> |
| 629 | + <svg class="oc-chevron" width="10" height="10" viewBox="0 0 16 16" fill="currentColor"><path d="M1.646 4.646a.5.5 0 01.708 0L8 10.293l5.646-5.647a.5.5 0 01.708.708l-6 6a.5.5 0 01-.708 0l-6-6a.5.5 0 010-.708z"/></svg> |
| 630 | + </div> |
| 631 | + <div class="oc-card-body" id="sceneDetectBody"> |
| 632 | + <div class="oc-field-row"> |
| 633 | + <label class="oc-label" for="sceneMethodUxp">Method</label> |
| 634 | + <select class="oc-select" id="sceneMethodUxp"> |
| 635 | + <option value="ffmpeg" selected>FFmpeg Threshold</option> |
| 636 | + <option value="ml">TransNetV2 (ML)</option> |
| 637 | + <option value="pyscenedetect">PySceneDetect</option> |
| 638 | + </select> |
| 639 | + </div> |
| 640 | + <div class="oc-slider-row"> |
| 641 | + <label class="oc-label" for="sceneThresholdUxp">Sensitivity</label> |
| 642 | + <input type="range" class="oc-slider" id="sceneThresholdUxp" min="0.1" max="0.9" value="0.3" step="0.05"> |
| 643 | + <span class="oc-slider-val" id="sceneThresholdValUxp">0.30</span> |
| 644 | + </div> |
| 645 | + <button class="oc-btn oc-btn-primary oc-btn-full" id="runSceneDetectBtnUxp">Detect Scenes</button> |
| 646 | + </div> |
| 647 | + </div> |
| 648 | + |
| 649 | + <div class="oc-section-title">Style Transfer</div> |
| 650 | + <div class="oc-card"> |
| 651 | + <div class="oc-card-header collapsible" data-target="styleTransferBody"> |
| 652 | + <span>AI Style Transfer</span> |
| 653 | + <svg class="oc-chevron" width="10" height="10" viewBox="0 0 16 16" fill="currentColor"><path d="M1.646 4.646a.5.5 0 01.708 0L8 10.293l5.646-5.647a.5.5 0 01.708.708l-6 6a.5.5 0 01-.708 0l-6-6a.5.5 0 010-.708z"/></svg> |
| 654 | + </div> |
| 655 | + <div class="oc-card-body" id="styleTransferBody"> |
| 656 | + <div class="oc-field-row"> |
| 657 | + <label class="oc-label" for="styleNameUxp">Style</label> |
| 658 | + <select class="oc-select" id="styleNameUxp"> |
| 659 | + <option value="candy" selected>Candy</option> |
| 660 | + <option value="mosaic">Mosaic</option> |
| 661 | + <option value="starry_night">Starry Night</option> |
| 662 | + <option value="la_muse">La Muse</option> |
| 663 | + <option value="udnie">Udnie</option> |
| 664 | + <option value="rain_princess">Rain Princess</option> |
| 665 | + <option value="the_scream">The Scream</option> |
| 666 | + <option value="pointilism">Pointilism</option> |
| 667 | + </select> |
| 668 | + </div> |
| 669 | + <div class="oc-slider-row"> |
| 670 | + <label class="oc-label" for="styleIntensityUxp">Intensity</label> |
| 671 | + <input type="range" class="oc-slider" id="styleIntensityUxp" min="0" max="100" value="100" step="5"> |
| 672 | + <span class="oc-slider-val" id="styleIntensityValUxp">100%</span> |
| 673 | + </div> |
| 674 | + <button class="oc-btn oc-btn-primary oc-btn-full" id="runStyleTransferBtnUxp">Apply Style</button> |
| 675 | + </div> |
| 676 | + </div> |
| 677 | + |
| 678 | + <div class="oc-section-title">Shorts Pipeline</div> |
| 679 | + <div class="oc-card"> |
| 680 | + <div class="oc-card-header collapsible" data-target="shortsPipelineBody"> |
| 681 | + <span>One-Click Short-Form Clips</span> |
| 682 | + <svg class="oc-chevron" width="10" height="10" viewBox="0 0 16 16" fill="currentColor"><path d="M1.646 4.646a.5.5 0 01.708 0L8 10.293l5.646-5.647a.5.5 0 01.708.708l-6 6a.5.5 0 01-.708 0l-6-6a.5.5 0 010-.708z"/></svg> |
| 683 | + </div> |
| 684 | + <div class="oc-card-body" id="shortsPipelineBody"> |
| 685 | + <p class="oc-hint">Transcribe, detect highlights, face-reframe, burn captions, and export short-form clips in one step.</p> |
| 686 | + <div class="oc-field-row"> |
| 687 | + <label class="oc-label" for="shortsMaxUxp">Max Clips</label> |
| 688 | + <input type="number" class="oc-input" id="shortsMaxUxp" value="5" min="1" max="20"> |
| 689 | + </div> |
| 690 | + <div class="oc-check-row"> |
| 691 | + <input type="checkbox" id="shortsFaceTrackUxp" checked> |
| 692 | + <label for="shortsFaceTrackUxp">Face tracking reframe</label> |
| 693 | + </div> |
| 694 | + <div class="oc-check-row"> |
| 695 | + <input type="checkbox" id="shortsCaptionsUxp" checked> |
| 696 | + <label for="shortsCaptionsUxp">Burn-in captions</label> |
| 697 | + </div> |
| 698 | + <button class="oc-btn oc-btn-primary oc-btn-full" id="runShortsPipelineBtnUxp">Generate Shorts</button> |
| 699 | + </div> |
| 700 | + </div> |
| 701 | + |
598 | 702 | <div class="oc-section-title">Social Media Upload</div> |
599 | 703 | <div class="oc-card"> |
600 | 704 | <div class="oc-card-header collapsible" data-target="socialBody"> |
|
983 | 1087 | <div class="oc-card"> |
984 | 1088 | <div class="oc-field-row"> |
985 | 1089 | <span class="oc-label">Version</span> |
986 | | - <span>1.9.2 (UXP)</span> |
| 1090 | + <span id="uxpVersionDisplay">1.9.8 (UXP)</span> |
987 | 1091 | </div> |
988 | 1092 | <div class="oc-field-row"> |
989 | 1093 | <span class="oc-label">Panel</span> |
|
0 commit comments