iArt.ai
AI 모션 그래픽 소프트웨어, 누구나 사용할 수 있는 After Effects 대안, 텍스트 프롬프트로 몇 분 안에 애니메이션·설명 영상 제작
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Self-hosted web workspace and Android companion that organises your YouTube playlists with channel rules and AI suggestions you approve. By Atomic 22 Industries.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A place for every video. motus.leap is a self-hosted web workspace that brings order to your YouTube™ library with channel-to-playlist rules and AI suggestions you review, plus an optional Android companion app. Nothing moves until you confirm it.
Published by Atomic 22 Industries.
Website · Help · Android download (0.5.3) · Report an issue
Status: in active development. The Android app (0.5.3) is a signed release; the server is something you run and configure yourself. There is no hosted public service.
| Piece | Where it runs | What it does |
|---|---|---|
| Web workspace | Your browser | The main interface: rules, scans, review queue, AI Hub, settings. |
| motus.leap server | A server you configure (FastAPI) | Stores YouTube™ credentials, runs background jobs, talks to YouTube and your AI provider, serves the web workspace. Must be reachable over HTTPS for the Android app. |
| Android app (optional) | Your phone, Android 8.0+ | Companion to the same server. Signs in with Google in the system browser. |
| YouTube™ and AI provider | Third-party services | Authorised separately on the server. |
Signing in to motus.leap and authorising the server to access your YouTube account are separate steps. Downloading the APK alone does not create a server or connect a YouTube account.
git clone https://github.com/dave-patrick/motus.leap.git
cd motus.leap
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txt
playwright install chromium # needed for Watch Later features
Create a .env file (or set environment variables) with at least:
GOOGLE_OAUTH_CLIENT_ID=your-client-id.apps.googleusercontent.com
GOOGLE_OAUTH_CLIENT_SECRET=your-client-secret
GOOGLE_OAUTH_REDIRECT_URI=http://localhost:8000/api/auth/google/callback
FRONTEND_URL=http://localhost:8000
TUBE_MANAGER_SECRET_KEY=a-long-random-string
TUBE_MANAGER_DATA_DIR=./data
Add the same redirect URI to your OAuth client in Google Cloud, then start the server:
uvicorn app:app --host 0.0.0.0 --port 8000
Open http://localhost:8000, sign in with Google, connect your YouTube account, and add an AI provider in AI Hub → Providers if you want suggestions.
render.yaml defines a single web service with a persistent disk at /app/data. Set GOOGLE_OAUTH_CLIENT_ID and GOOGLE_OAUTH_CLIENT_SECRET in the Render dashboard, and point the OAuth redirect URI at https://<your-service>.onrender.com/api/auth/google/callback. The Android sign-in handoff store is in memory, so keep the service to a single process.
| Variable | Required | Purpose |
|---|---|---|
GOOGLE_OAUTH_CLIENT_ID | Yes | Google OAuth web client ID (YOUTUBE_CLIENT_ID is accepted as an alias). |
GOOGLE_OAUTH_CLIENT_SECRET | Yes | Google OAuth client secret (YOUTUBE_CLIENT_SECRET alias). |
GOOGLE_OAUTH_REDIRECT_URI | Yes | OAuth callback, ending in /api/auth/google/callback. |
FRONTEND_URL | Yes | Public base URL of your server. |
TUBE_MANAGER_SECRET_KEY | Yes | Secret used to sign sessions. Use a long random value. |
TUBE_MANAGER_DATA_DIR | Recommended | Where users, settings, caches and scan results are stored. |
TUBE_MANAGER_ADMIN_PASSWORD | Optional | Initial admin password. If unset, a random one is generated and written to the log. |
YOUTUBE_DAILY_QUOTA | Optional | Daily YouTube API quota for the quota guard (default 1500000). Set this to your approved allowance. |
YOUTUBE_API_KEY | Optional | API key for read-only YouTube requests. |
EXTRA_ALLOWED_ORIGINS | Optional | Extra CORS origins, comma separated. |
REDIS_URL | Optional | Use Redis for caching instead of in-memory. |
SENTRY_DSN | Optional | Error reporting. |
CSP_STRICT | Optional | Enable the stricter Content Security Policy. |
AI provider keys are added in the web workspace (AI Hub → Providers), not as environment variables. Saved keys are never shown again in the interface.
The Android companion is a native app (not a WebView) for Android 8.0 or newer.
23:25:B2:87:5C:6B:50:7C:15:7D:E7:FD:0F:81:72:B3:A1:89:8D:F3:41:AD:63:F0:E5:F5:DE:F1:56:10:F4:14 (Atomic 22 Industries). Check it with apksigner verify --print-certs motus.leap-0.5.3.apk.android/README.md (JDK 17+, Android SDK 36). ./gradlew assembleDebug builds a debug APK; release builds need the signing key described there.Earlier 0.5.x downloads were debug-signed. Android won't let a release-signed app update a debug-signed one, so uninstall the old app once before installing 0.5.3. You'll need to enter your server address and sign in again; your library stays on the server.
cli.py offers a few direct commands against the YouTube API:
python cli.py list "Playlist name"
python cli.py add <video-url> "Playlist name"
python cli.py remove <video-url> "Playlist name"
python cli.py create <video-url> "New playlist"
python cli.py scan [--force]
python cli.py auto-sort
pip install pytest pytest-asyncio pytest-cov
python -m pytest tests/ -q
CI runs the test suite on Python 3.11 and 3.12 (.github/workflows/test.yml), builds the Android app (android-build.yml) and publishes the website from site/ to GitHub Pages (pages.yml).
| Path | Contents |
|---|---|
app.py, server.py | FastAPI application entry points |
api/, routers/ | REST endpoints: auth, playlists, maintenance, rules, bulk operations |
services/ | YouTube client, AI classifier and chat, background worker, scans, quota ledger |
core/ | HTTP client, caching, config, logging, rate limiting, observability |
models/ | Data types |
web/ | The web workspace (HTML, JS, CSS) |
android/ | Android companion app |
site/ | Public landing page and help (live) |
tests/ | Unit, integration, security and load tests |
documentation/, docs/ | Publishing notes, release notes, audits |
android/README.md: Android build, sign-in and release historydocumentation/PUBLISHING.md: how the website and releases are publisheddocumentation/RELEASE-0.5.1.md: release notesApache-2.0. See LICENSE.
YouTube™ is a trademark of Google LLC. motus.leap is an independent project and is not affiliated with, endorsed by, or sponsored by Google LLC or YouTube.