iArt.ai
AI 모션 그래픽 소프트웨어, 누구나 사용할 수 있는 After Effects 대안, 텍스트 프롬프트로 몇 분 안에 애니메이션·설명 영상 제작
주제를 완성된 유튜브 영상으로 변환합니다
Turn a topic into a finished YouTube video — script, voice, visuals and edit — and make images, clips and voice-overs in one studio. The price is shown before every run, a failed run returns its credi
미디어Python · TypeScriptGitHub @ruslanjurakulov온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Turn a topic into a finished YouTube video — script, voice, visuals and edit — and make images, clips and voice-overs in one studio. The price is shown before every run, a failed run returns its credits, and nothing goes public without your approval.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Autonomous YouTube channel operator. A Python pipeline researches, writes,
narrates, renders and uploads a video; a Next.js Command Center is how a
human watches it and decides. Supabase holds the hosted state, Vercel serves
the dashboard, GitHub Actions runs the bot.
This repository is the Grok working copy. The original
ruslanjurakulov/nightshift-ai-studio
is where Claude Code is active — the two trees are independent. Secrets are
not copied; they live in GitHub Actions and Vercel, not in git.
Default upload privacy is private. The bot has never published anything
publicly on its own.README 전문 보기 ↗Nightshift makes YouTube videos for you. You give it a topic (or let a channel choose one); it researches, writes, narrates, edits and renders the video. You approve before anything is published. It is sold as a web app, a public API, an MCP server and a CLI, paid for with credits.
Live site: https://nightshift-ai.studio
main.py, modules/ the video pipeline (Python): topic, research, script,
fact-check, voice, media, captions, thumbnails, render,
publish gate, YouTube upload
tools/ scripts the workflows and the worker call
command-center/ Next.js app: the public site (/, /pricing, /docs, /mcp)
and the signed-in app (/{channel}/...)
supabase/migrations/ Postgres schema, RLS and SQL functions (additive; applied on merge)
docs/sql/ owner-applied scripts: one-time data clean-ups and rollbacks, never migrations
packages/cli/ @nightshift/cli, a command-line client for the public API
skills/ Agent Skills that teach an AI agent to use the CLI and MCP
video-engine/ Remotion scene renderer (off by default)
deploy/ Docker Compose, Caddy, and the SSH deploy script for the server
tests/ Python tests, plus tests/security (the security lab)
docs/ guides, design records, the security ledger
| Door | For | Docs |
|---|---|---|
| Web app | people making videos | command-center/ |
Public API (/api/v1) | your own code; prepaid developer balance | docs/API.md, /docs/api |
MCP server (/api/mcp) | Claude, ChatGPT, Cursor and other assistants; sign in with OAuth (paid plans, spends site credits) or use an API key | docs/MCP.md, /mcp |
| CLI | scripts and terminals; not published to npm yet | docs/CLI.md |
The MCP sign-in and the CLI page are behind flags (MCP_OAUTH_LIVE,
DEV_CLI_PAGE); only the exact value 1 turns them on.
Plans (Free, Plus, Pro, Business) give monthly credits that expire at the end of
the period. Credit packs top up and last longer. Every job is quoted, held,
captured on success and refunded on failure. An "extra credits" switch decides
whether packs can be spent. Payments go through Paddle. See
docs/BILLING_PLANS.md and
docs/PADDLE_SETUP.md. Unpriced units are refused, never guessed.
Standing brief: CLAUDE.md. The short version:
main that touches the app, deploy/ or the worker image deploys it through
.github/workflows/deploy_web.yml and deploy/remote-deploy.sh
(docs/DEPLOY_AX42.md). Environment variables are listed in
deploy/.env.web.example.main (Supabase GitHub integration), so it is
dry-run on the live schema first, and a merged one is never edited: fix it with a
new forward migration (docs/MIGRATIONS.md). Each file says what
it needs and ends with a Verify query.NIGHTSHIFT_RUN_BACKEND. actions (default)
dispatches daily_video.yml on GitHub Actions. queue writes a render_jobs
row that a worker (tools/queue_worker.py, Dockerfile.worker) claims
(docs/WORKER_VPS.md).notify-worker,
docs/NOTIFY_TELEGRAM_SETUP.md), the customer e-mail
sender (email-worker) and the operator bot.tests,
frontend, security, video-engine).@NightshiftAiStudio_bot): the owner's read-only control panel in
Telegram. Commands and inline buttons for /health, /queue, ,
, , , , , , ,
, , , , and (counts only; an
information-only alert when a post waits for approval or was sent, never an approve button);
de-duplicated, rate-limited proactive alerts with quiet hours and a daily digest;
replies in seconds (long polling, or an optional webhook). It cannot publish,
spend, approve, change prices or grant roles. Commands, alerts and the exact
go-live steps: .Every finding lives in docs/security/LEDGER.md with
its fix and the test that fails if it comes back. tests/security runs against a
real Postgres. Process and rubric: docs/security/README.md.
Content-Security-Policy ships report-only: docs/security/CSP.md. The sign-in code step and the admin second-factor gate: docs/security/ADMIN_MFA.md.
Owner protection, in layers:
NIGHTSHIFT_ADMIN_MFA=enforce); a stolen password alone is not enough.security_events table that even the owner role
cannot rewrite; the operator bot reads it.python3 -m venv .venv && source .venv/bin/activate # Python 3.11
pip install -r requirements.txt
cp .env.example .env # fill the keys the pipeline needs
cp channels.example.json channels.json # or manage channels in the Command Center
# ffmpeg + ImageMagick on PATH
python tools/setup_check.py
python main.py --no-upload --channel default
Command Center:
cd command-center
cp .env.example .env.local # Supabase URL + anon key only
npm ci && npm run dev
python3 -m unittest discover -s tests
cd command-center && npx tsc --noEmit && npx next lint && npx vitest run && npx next build
test_compositor_readers and test_compositor_subtitles need moviepy
installed. Every user-visible string lives in all three of
command-center/lib/i18n/{en,ru,uz}.ts.
CI's "Dependency advisories" step is command-center/scripts/audit-gate.mjs: production
dependencies fail it at moderate, dev ones at high, except advisories dated in
command-center/scripts/audit-allowlist.mjs (today: none). Read which step fails before treating a red job as real.
docs/ARCHITECTURE.md, docs/INTELLIGENCE.md: the pipeline and the intelligence loop (written early; the code is the source of truth)docs/MEASUREMENT.md: cost ledger, A/B, retention, the publish gatedocs/MULTI_CHANNEL.md: per-channel tokens, schedule, registrydocs/AUTONOMY.md: what is automatic and what is notdocs/SUPABASE.md, docs/SIGNUP_SETUP.md: schema, RLS, sign-up settings (Confirm email must be on)docs/API.md, docs/MCP.md, docs/CLI.md, skills/README.md: the ways indocs/BILLING_PLANS.md, : plans, credits, paymentsNo license file yet. All rights reserved by the owner until one is added.
/errors/balance/payments/spend/today/users/deploys/approvals/status/pending/security/digest/marketingdocs/MIGRATIONS.md: the migration process rule and dormant migrationsdocs/operator-bot.md, docs/NOTIFY_TELEGRAM_SETUP.md: the owner's bot and the customer notificationsdocs/LAUNCH_CHECKLIST.md, docs/CONNECT_ACCOUNTS.md: going live, connecting YouTube, Instagram and TikTokdocs/DEPLOY_AX42.md, docs/WORKER_VPS.md, docs/SELF_HOSTED_RUNNER.md, docs/DEPLOYMENT.md: running it (several guides are in Uzbek)docs/ROADMAP_SAAS.md, docs/ROADMAP_VIDEO_OS.md: where it is goingdocs/design/: identity, type, motion, brand logos, design recordsdocs/security/: ledger, process, CSP