iArt.ai
AI motion graphics software — the After Effects alternative anyone can use. Create animations and explainer videos from a text prompt in minutes.
Download, earn credits to cash, chat and meet up, make AI videos and download wallpapers — all for free on Frenzsave.
MediaTypeScript · PLpgSQLGitHub @emmanuelnwujuchibuike-beepOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Download videos for free from all social media
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Premium multi-platform video downloader powered by yt-dlp. TikTok-first, with support for 1000+ platforms (Instagram, YouTube, X, Facebook, Reddit, Vimeo, SoundCloud and more).
Built with Next.js 15 (App Router), TypeScript, Tailwind CSS, Supabase, and Upstash Redis.
💙 Frenz Core — read this before building any feature. It is the mandatory
engineering foundation of the whole Frenzsave ecosystem: one backend, one identity, one cloud, one
security model, one design system. Every feature integrates with Frenz Core; nothing bypasses it.Read the full README ↗Premium multi-platform video downloader powered by yt-dlp. TikTok-first, with support for 1000+ platforms (Instagram, YouTube, X, Facebook, Reddit, Vimeo, SoundCloud and more).
Built with Next.js 15 (App Router), TypeScript, Tailwind CSS, Supabase, and Upstash Redis.
💙 Frenz Core — read this before building any feature. It is the mandatory engineering foundation of the whole Frenzsave ecosystem: one backend, one identity, one cloud, one security model, one design system. Every feature integrates with Frenz Core; nothing bypasses it.
server/services), repository-ready data access, SOLID-friendly separation.(app) layout (sidebar/topbar/modals render once; only content swaps → SPA-instant nav), content-only loading.tsx skeletons, SSR-seeded cached-first feed surfaces, and an SWR-style client cache (features/data). See docs/PERFORMANCE.md.features/social/inbox.ts).lib/storage, Supabase fallback) + optional Cloudflare Stream adaptive-bitrate video (lib/media/stream.ts, SmartVideo). See docs/INFRASTRUCTURE.md.This is Phase 1: a runnable foundation. See Roadmap for what's intentionally stubbed for later phases.
PATH (or set YTDLP_PATH)Install yt-dlp + ffmpeg:
# macOS
brew install yt-dlp ffmpeg
# Windows (winget)
winget install yt-dlp.yt-dlp
winget install Gyan.FFmpeg
# Linux
sudo curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /usr/local/bin/yt-dlp
sudo chmod a+rx /usr/local/bin/yt-dlp
sudo apt-get install -y ffmpeg
npm install
cp .env.example .env.local # fill in values (Supabase/Upstash optional for first run)
npm run dev
Open http://localhost:3000. The downloader works without Supabase or Upstash configured — those add auth, history, and distributed rate limiting.
Create a project at supabase.com.
Run the migrations (Supabase CLI or SQL editor):
supabase db push
# or paste supabase/migrations/*.sql into the SQL editor in order
Copy your project URL + anon key + service role key into .env.local.
Enable the Google / GitHub providers under Authentication → Providers (Phase 2).
The schema lives in supabase/migrations/ and includes RLS, triggers (handle_new_user, bump_platform_stats), storage buckets, and a realtime publication on downloads.
The Docker image bundles yt-dlp + ffmpeg, which is the most reliable way to run the streaming download endpoint.
cp .env.example .env.local # production values
docker compose up --build
This starts:
| Service | Port | Role |
|---|---|---|
web | 3000 | Next.js standalone server |
redis | 6379 | local cache (use Upstash in prod) |
nginx | 80 | reverse proxy + per-IP rate limiting |
Vercel's serverless runtime has no yt-dlp/ffmpeg, so the heavy routes run
on a Docker worker and Vercel proxies to it. The same codebase plays both
roles, decided purely by env:
| Role | Where | Env |
|---|---|---|
| Frontend | Vercel | DOWNLOAD_WORKER_URL=https://<worker> + WORKER_SECRET |
| Worker | Fly.io / Railway / VPS (Docker) | DOWNLOAD_WORKER_URL blank + same WORKER_SECRET |
When DOWNLOAD_WORKER_URL is set, /api/metadata and /api/download forward to
the worker (sending the secret); when blank, the app does the real
extraction/download itself. The worker rejects requests without a matching
x-worker-secret.
Deploy the worker (Fly.io example):
fly launch --no-deploy # creates the app from fly.toml
fly secrets set WORKER_SECRET=$(openssl rand -hex 24) \
UPSTASH_REDIS_REST_URL=... UPSTASH_REDIS_REST_TOKEN=...
fly deploy # builds Dockerfile (yt-dlp + ffmpeg)
Then point Vercel at it (Project → Settings → Environment Variables):
DOWNLOAD_WORKER_URL=https://<app>.fly.dev, the same WORKER_SECRET, plus
the rest of .env.example. Redeploy.
Note: Vercel Hobby caps function duration at 300s, so the proxied download connection is capped there; full-length downloads still complete on the worker if the client talks to it directly, or upgrade the plan.
Single-host alternative: skip Vercel and deploy only the Docker image
(docker compose up) — everything works in one place.
app/ # App Router pages + route handlers + SEO (robots, sitemap)
api/ # metadata, download, health endpoints
components/ # Presentational UI (landing sections, layout chrome)
features/ # Feature modules (downloader: hook + UI)
lib/ # Cross-cutting utilities (platforms, validation, rate-limit, supabase)
server/services/ # Server-only service layer (yt-dlp wrapper)
supabase/migrations/ # SQL schema, RLS, triggers, storage, realtime
types/ # Shared domain types
middleware.ts # Supabase session refresh + /admin guard
See .env.example for the full annotated list. Highlights:
| Variable | Required | Purpose |
|---|---|---|
NEXT_PUBLIC_SITE_URL | ✅ | SEO / canonical / sitemap base |
NEXT_PUBLIC_SUPABASE_URL / _ANON_KEY | for auth | Supabase client |
SUPABASE_SERVICE_ROLE_KEY | for admin/cron | bypasses RLS — server only |
UPSTASH_REDIS_REST_URL / _TOKEN | prod | distributed rate limiting |
YTDLP_PATH | optional | path to yt-dlp binary |
Phase 1 (this foundation) ships the downloader, schema, landing page, and infra. Planned next:
/download/[platform])Download only content you own or have the right to save, and respect each platform's Terms of Service and applicable copyright law. This project is a tool; responsibility for its use lies with the operator and end users. A DMCA process and Terms/Privacy pages should be in place before public launch.