Skip to main content
Freesona’s media commands let you download video and audio from thousands of platforms, separate vocals from instrumentals with MVSEP’s BS Roformer model, run web searches with AI-generated summaries, and solve equations — all without leaving Discord. Downloads are sent directly in the channel as Discord file uploads.

Video Downloader

Download a video at the best available resolution and receive it directly in the channel.
The bot tries resolutions in this order and stops at the first file that fits within the upload limit: Audio stream integrity is verified after every merge. If the merged file has no audio track, the bot retries at the next lower resolution automatically. Limits and constraints:
  • File size limit: 10 MB (Discord’s free upload limit)
  • Per-user cooldown: 30 seconds
  • Requires ffmpeg and yt-dlp installed on the host machine

Audio Download

Extract audio from any URL and receive it as an MP3:
~download and ~audio both use yt-dlp under the hood, so they support the same wide range of platforms — YouTube, SoundCloud, TikTok, Vimeo, and thousands more.

Audio Separation

Separate vocals and instrumentals from any audio source using MVSEP’s BS Roformer model (SDR vocals: 11.89 / SDR instrum: 18.20).
You can also attach an audio file directly to the command message instead of providing a URL.

Input Options

Output

The bot sends an embed with labeled download links once separation is complete:
  • Vocals — Isolated vocal track
  • Instrumental — Music without vocals
Links are hosted by MVSEP and expire after some time. On the free tier, only one job can run at a time. The bot will tell you if a job is already running.

Setup for Audio Separation

1

Get an MVSEP API key

Sign up at mvsep.com and retrieve your API key from your account settings.
2

Add credentials to .env

MVSEP_WEBHOOK_URL is optional but recommended. It lets MVSEP notify your bot the moment a job finishes, instead of the bot polling repeatedly.
MVSEP_WEBHOOK_URL must be a publicly accessible HTTPS URL that MVSEP can reach. Without it, the bot polls the MVSEP API every 10 seconds and times out after 10 minutes if the job has not completed.
Tune polling behavior at runtime with /config set mvsep_poll_interval <seconds> and /config set mvsep_poll_timeout <seconds>. No restart required.
Search the web and get an AI-generated summary, all in one command:
The bot uses Gemini grounding as the primary search path. Required: GOOGLE_API_KEY in .env

Math Solver

Solve equations and get step-by-step results rendered with LaTeX:
The bot queries the Wolfram|Alpha Short Answer API first and falls back to the LLM API for more complex expressions. Results include bolded headers and a LaTeX-rendered image where applicable. Required: WOLFRAM_APPID_SHORT in .env
Optional: WOLFRAM_APPID_LLM for extended LLM fallback

Commands Summary

All media commands are available as both prefix (~download) and slash (/download) commands. There are no permission requirements. Anyone in the server can use them.