import { NextRequest, NextResponse } from "next/server"; const FREESOUND_API = "https://freesound.org/apiv2/search/text/"; const API_KEY = process.env.FREESOUND_API_KEY || ""; export async function GET(req: NextRequest) { const query = req.nextUrl.searchParams.get("q") || ""; const page = parseInt(req.nextUrl.searchParams.get("page") || "1"); if (!query) return NextResponse.json({ results: [] }); if (!API_KEY) return NextResponse.json({ error: "Freesound API key not configured" }, { status: 500 }); try { const url = `${FREESOUND_API}?query=${encodeURIComponent(query)}&page=${page}&token=${API_KEY}&page_size=12&fields=id,name,duration,previews`; const res = await fetch(url); const data = await res.json(); const results = (data.results || []).map((r: any) => ({ id: r.id, name: r.name, duration: r.duration, previewUrl: r.previews?.["preview-lq-mp3"] || r.previews?.["preview-hq-mp3"] || null, })); return NextResponse.json({ results, count: data.count || 0 }); } catch (e) { return NextResponse.json({ error: "Freesound search failed" }, { status: 500 }); } }