OpenAI Sora Video Downloader

Adds a context menu item that opens the raw Sora video in a new tab to download or share.

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

You will need to install an extension such as Tampermonkey to install this script.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

// ==UserScript==
// @name     OpenAI Sora Video Downloader
// @description  Adds a context menu item that opens the raw Sora video in a new tab to download or share.
// @version  1.0.3
// @author       yodaluca23
// @license      GNU GPLv3
// @match        *://sora.com/*
// @match        *://sora.chatgpt.com/*
// @grant    GM_registerMenuCommand
// @grant    GM_openInTab
// @run-at   document-idle
// @namespace https://greasyfork.org/users/1315976
// ==/UserScript==

function extractAndOpenVideoURL() {
    const targetElement = document.querySelector('.absolute.cursor-default');
    if (targetElement) {
      const videoElement = targetElement.querySelector('video');
      if (videoElement && videoElement.src) {
          // Open the video URL in a new tab
          GM_openInTab(videoElement.src, {
              active: true,
              insert: true,
              pinned: false
          });
      }
    }
}

GM_registerMenuCommand("Download This Sora Video", extractAndOpenVideoURL, "e");