Video Search
Upload a video and find matching music from your library based on visual content analysis.
Supported Formats
- Formats: MP4, WebM, MOV
- Max file size: 32 MB
- YouTube max duration: 30 minutes
Find Music for Video
POST /api/v1/search-by-video
Upload a video and get matching tracks. Returns JSON response.
curl -X POST "https://api.songpot.space/api/v1/search-by-video" \ -H "X-API-Key: YOUR_API_KEY" \ -F "file=@video.mp4" \ -F "user_prompt=upbeat music for sports video" \ -F "limit=20"import requests
response = requests.post( "https://api.songpot.space/api/v1/search-by-video", files={"file": open("video.mp4", "rb")}, data={ "user_prompt": "upbeat music for sports video", "limit": 20 }, headers={"X-API-Key": API_KEY})
result = response.json()tracks = result["similar_tracks"]const formData = new FormData();formData.append("file", videoFile);formData.append("user_prompt", "upbeat music for sports video");formData.append("limit", "20");
const response = await fetch( "https://api.songpot.space/api/v1/search-by-video", { method: "POST", headers: { "X-API-Key": API_KEY }, body: formData });
const { similar_tracks } = await response.json();Response
{ "video_info": { "filename": "video.mp4", "caption": "Fast-paced montage of athletes training", "tags": { "mood_tags": ["energetic", "inspiring"], "scene_types": ["outdoor", "sports"] } }, "similar_tracks": [ { "id": "abc123", "name": "energetic-track.mp3", "duration": 195.0, "bpm": 130.0, "key": "gMajor", "similarity": 0.87 } ], "total": 15}