MCPcopy Index your code
hub / github.com/SoraWeb/sora-next-web

github.com/SoraWeb/sora-next-web @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
42 symbols 89 edges 29 files 0 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Sora Next Web

Sora Next Web

Live Demo

https://web.getsoraapp.com

preview

Quick Start

  1. clone project
git clone https://github.com/SoraWeb/sora-next-web
  1. install dependencies
cd sora-next-web
yarn
  1. set environmental values

rename .env.template to .env.local under root dir, and add the env vars

NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME=
CLOUDINARY_API_KEY=
CLOUDINARY_API_SECRET=
CLOUDINARY_FOLDER=<Your cloudinary folder contains video files>

Sign up your free Cloudinary account to get your Cloudinary details

Also change the next.config.js file, to allow accessing files from cloudinary

remotePatterns: [
      {
        protocol: "https",
        hostname: "res.cloudinary.com",
        pathname: "/<NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME>/**",
      },
    ],
```

4. videos folder structure

You will need to put videos in the following structure in the Cloudinary:

//nhdp.mp4 //nhdp.webm //hd1080p.mp4 //hd1080p.webm


![cloudinary](./public/cloudinary.png)

Where video file starts `nhdp_` for preview and `hd1080p_` for details view.

If you prefer different logic of reading files, change the logic in `organizeVideos.ts`

5. local development

```shell
yarn dev

open http://localhost:3000 for preview

Credit to

Subscribe to the coming Sora App

you can subscribe our mailing list at Get Sora App

Sora Prompt Helper

try our Sora Prompt Helper here

Support

Buy Me A Coffee

Extension points exported contracts — how you extend this code

VideoPlayerProps (Interface)
(no doc)
components/VideoPlayer.tsx
ImageProps (Interface)
(no doc)
utils/types.ts
VideoResource (Interface)
(no doc)
utils/types.ts
VideoVersions (Interface)
(no doc)
utils/types.ts
VideoProps (Interface)
(no doc)
utils/types.ts
SharedModalProps (Interface)
(no doc)
utils/types.ts

Core symbols most depended-on inside this repo

changeVideoId
called by 7
components/Modal.tsx
getResults
called by 3
utils/cachedImages.ts
getVideosList
called by 3
utils/getVideosList.ts
closeModal
called by 2
components/Carousel.tsx
useLastViewedPhoto
called by 2
utils/useLastViewedPhoto.ts
classNames
called by 1
components/Nav.tsx
copyTextToClipboard
called by 1
components/SharedModal.tsx
range
called by 1
utils/range.ts

Shape

Function 33
Interface 6
Class 2
Method 1

Languages

TypeScript100%

Modules by API surface

utils/types.ts5 symbols
pages/v/[videoId].tsx3 symbols
pages/_document.tsx3 symbols
components/SharedModal.tsx3 symbols
components/Modal.tsx3 symbols
components/Carousel.tsx3 symbols
utils/downloadVideo.ts2 symbols
pages/index.tsx2 symbols
components/VideoPlayer.tsx2 symbols
components/Prompt.tsx2 symbols
components/Nav.tsx2 symbols
utils/useLastViewedPhoto.ts1 symbols

For agents

$ claude mcp add sora-next-web \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact