{}
把 API Key 放在后端代理中,前端指向代理地址,可避免密钥泄露并绕过 CORS。
// 安装依赖:npm install express axios cors
const express = require('express');
const axios = require('axios');
const cors = require('cors');
const app = express();
app.use(cors());
app.use(express.json({ limit: '64mb' }));
const TARGET = 'https://api.minimaxi.com';
const API_KEY = process.env.MINIMAX_API_KEY || '你的 API Key';
app.post('/v2/video_generation', async (req, res) => {
try {
const r = await axios.post(`${TARGET}/v2/video_generation`, req.body, {
headers: {
'Authorization': `Bearer ${API_KEY}`,
'Content-Type': 'application/json'
},
timeout: 30000
});
res.status(r.status).json(r.data);
} catch (e) {
const data = e.response?.data || { error: { message: e.message } };
res.status(e.response?.status || 500).json(data);
}
});
app.listen(3001, () => console.log('Proxy on http://localhost:3001'));
// 启动:node proxy.js
# 安装依赖:pip install flask requests flask-cors
import os
from flask import Flask, request, jsonify
from flask_cors import CORS
import requests
app = Flask(__name__)
CORS(app)
TARGET = 'https://api.minimaxi.com/v2/video_generation'
API_KEY = os.environ.get('MINIMAX_API_KEY', '你的 API Key')
@app.route('/v2/video_generation', methods=['POST'])
def proxy():
headers = {
'Authorization': f'Bearer {API_KEY}',
'Content-Type': 'application/json'
}
r = requests.post(TARGET, json=request.get_json(), headers=headers, timeout=30)
return jsonify(r.json()), r.status_code
if __name__ == '__main__':
app.run(port=3001)
# 启动:python proxy.py