fix: form-data пакет вместо Blob, правильный multipart
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
const express = require('express');
|
||||
const multer = require('multer');
|
||||
const path = require('path');
|
||||
const FormData = require('form-data');
|
||||
const app = express();
|
||||
const PORT = process.env.PORT || 3000;
|
||||
const API_KEY = process.env.API_KEY || '';
|
||||
@@ -28,10 +29,10 @@ app.post('/api/whisper', upload.single('audio'), async (req, res) => {
|
||||
try {
|
||||
if (!req.file) return res.status(400).json({ error: 'No audio file' });
|
||||
const form = new FormData();
|
||||
form.append('file', new Blob([req.file.buffer], { type: req.file.mimetype }), 'audio.webm');
|
||||
form.append('file', req.file.buffer, { filename: 'audio.webm', contentType: req.file.mimetype || 'audio/webm' });
|
||||
form.append('model', 'whisper-large-v3-turbo');
|
||||
const r = await fetch(`${API_BASE}/v1/audio/transcriptions`, {
|
||||
method: 'POST', headers: { Authorization: `Bearer ${API_KEY}` }, body: form,
|
||||
method: 'POST', headers: { Authorization: `Bearer ${API_KEY}`, ...form.getHeaders() }, body: form,
|
||||
});
|
||||
const data = await r.json();
|
||||
res.json({ text: data.text || '' });
|
||||
|
||||
Reference in New Issue
Block a user