ワンクリックで
rapidapi-downloader
Download YouTube videos using RapidAPI services. Reliable cloud-based solution with multiple provider options.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Download YouTube videos using RapidAPI services. Reliable cloud-based solution with multiple provider options.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Calculate Four Pillars (四柱) from birth date/time using lunar calendar conversion. Foundation skill for all BaZi analysis.
Create and manage artifact.json for task outputs. Use when creating code files, documentation, or any files that should be tracked as artifacts.
Create and manage artifact.json for task outputs. Use at the START of every task to define planned deliverables before beginning research.
Provide career guidance and recommendations based on BaZi elemental strengths, Day Master traits, and current luck cycles.
Calculate and interpret 10-year luck cycles (大运) and annual fortune (流年) for timing insights and life trend predictions.
Analyze BaZi compatibility for romantic relationships (合婚). Examines elemental harmony, Day Master interaction, and long-term compatibility potential.
| name | rapidapi-downloader |
| description | Download YouTube videos using RapidAPI services. Reliable cloud-based solution with multiple provider options. |
This skill uses RapidAPI marketplace services to download YouTube videos. Multiple providers available with different pricing and features.
youtube-video-download-info.p.rapidapi.comyt-api.p.rapidapi.comyoutube-media-downloader.p.rapidapi.comSet your RapidAPI key:
export RAPIDAPI_KEY="your-api-key-here"
Or place in config file:
echo "your-api-key" > ./config/rapidapi_key.txt
# Load API key
if [ -f "./config/rapidapi_key.txt" ]; then
RAPIDAPI_KEY=$(cat ./config/rapidapi_key.txt)
elif [ -z "$RAPIDAPI_KEY" ]; then
echo "❌ RAPIDAPI_KEY not set. Please configure your API key."
exit 1
fi
mkdir -p ./output/downloads ./temp
VIDEO_ID="[VIDEO_ID]" # Extract from URL
curl -s -X GET \
"https://yt-api.p.rapidapi.com/dl?id=$VIDEO_ID" \
-H "X-RapidAPI-Key: $RAPIDAPI_KEY" \
-H "X-RapidAPI-Host: yt-api.p.rapidapi.com" \
> ./temp/video_info.json
# Parse response
python3 << 'EOF'
import json
with open('./temp/video_info.json') as f:
data = json.load(f)
print(f"Title: {data.get('title', 'N/A')}")
print(f"Duration: {data.get('lengthSeconds', 0)}s")
# Find best quality format
formats = data.get('formats', [])
for fmt in formats:
if fmt.get('qualityLabel') == '1080p':
print(f"Download URL: {fmt.get('url', 'N/A')[:100]}...")
break
EOF
# Extract download URL from response
DOWNLOAD_URL=$(python3 -c "
import json
with open('./temp/video_info.json') as f:
data = json.load(f)
formats = data.get('formats', [])
# Get highest quality with audio
for fmt in sorted(formats, key=lambda x: int(x.get('height', 0) or 0), reverse=True):
if fmt.get('hasAudio'):
print(fmt.get('url', ''))
break
")
if [ -n "$DOWNLOAD_URL" ]; then
curl -L -o "./output/downloads/${VIDEO_ID}.mp4" "$DOWNLOAD_URL"
echo "✅ Downloaded successfully"
else
echo "❌ No download URL found"
fi
# Get audio-only format
AUDIO_URL=$(python3 -c "
import json
with open('./temp/video_info.json') as f:
data = json.load(f)
formats = data.get('adaptiveFormats', [])
for fmt in formats:
if 'audio' in fmt.get('mimeType', ''):
print(fmt.get('url', ''))
break
")
curl -L -o "./output/downloads/${VIDEO_ID}.m4a" "$AUDIO_URL"
# Convert to MP3 if needed
ffmpeg -i "./output/downloads/${VIDEO_ID}.m4a" \
-acodec libmp3lame -q:a 2 \
"./output/downloads/${VIDEO_ID}.mp3"
VIDEO_URL="https://www.youtube.com/watch?v=$VIDEO_ID"
curl -s -X GET \
"https://youtube-media-downloader.p.rapidapi.com/v2/video/details?videoId=$VIDEO_ID" \
-H "X-RapidAPI-Key: $RAPIDAPI_KEY" \
-H "X-RapidAPI-Host: youtube-media-downloader.p.rapidapi.com" \
> ./temp/video_details.json
| Monthly Volume | yt-api Cost | Notes |
|---|---|---|
| 1,000 videos | ~$1 | Small projects |
| 10,000 videos | ~$10 | Medium business |
| 100,000 videos | ~$100 | Large scale |
# Check response status
STATUS=$(python3 -c "
import json
with open('./temp/video_info.json') as f:
data = json.load(f)
print(data.get('status', 'ok'))
")
case "$STATUS" in
"ok"|"OK")
echo "✅ Request successful"
;;
"fail"|"error")
echo "❌ API error - check video ID or API quota"
;;
*)
echo "⚠️ Unknown status: $STATUS"
;;
esac