fix: form-data пакет вместо Blob, правильный multipart

This commit is contained in:
2026-06-02 09:10:52 +03:00
parent 6c2f23539f
commit f0f67909a0
69 changed files with 4428 additions and 4 deletions
+3 -2
View File
@@ -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 || '' });