|
import { NextRequest, NextResponse } from "next/server"; |
|
import { ElevenLabsClient } from "@/utils/elevenlabs"; |
|
|
|
export async function GET() { |
|
try { |
|
if (!process.env.ELEVENLABS_API_KEY) { |
|
return NextResponse.json( |
|
{ error: "Clé API ElevenLabs manquante" }, |
|
{ status: 500 } |
|
); |
|
} |
|
|
|
const elevenlabs = new ElevenLabsClient(process.env.ELEVENLABS_API_KEY); |
|
const voices = await elevenlabs.getVoices(); |
|
|
|
return NextResponse.json(voices); |
|
} catch (error) { |
|
console.error("Erreur lors de la récupération des voix:", error); |
|
return NextResponse.json( |
|
{ error: "Impossible de récupérer les voix" }, |
|
{ status: 500 } |
|
); |
|
} |
|
} |
|
|
|
export async function DELETE(request: NextRequest) { |
|
try { |
|
if (!process.env.ELEVENLABS_API_KEY) { |
|
return NextResponse.json( |
|
{ error: "Clé API ElevenLabs manquante" }, |
|
{ status: 500 } |
|
); |
|
} |
|
|
|
const { voiceId } = await request.json(); |
|
if (!voiceId) { |
|
return NextResponse.json( |
|
{ error: "ID de voix manquant" }, |
|
{ status: 400 } |
|
); |
|
} |
|
|
|
const elevenlabs = new ElevenLabsClient(process.env.ELEVENLABS_API_KEY); |
|
|
|
await elevenlabs.deleteVoice(voiceId); |
|
|
|
return NextResponse.json({ success: true }); |
|
} catch (error) { |
|
console.error("Erreur lors de la suppression de la voix:", error); |
|
return NextResponse.json( |
|
{ error: "Impossible de supprimer la voix" }, |
|
{ status: 500 } |
|
); |
|
} |
|
} |
|
|