diff --git a/service/src/index.ts b/service/src/index.ts index 34cdd4a17..7b16a944e 100644 --- a/service/src/index.ts +++ b/service/src/index.ts @@ -17,7 +17,7 @@ import FormData from 'form-data' import axios from 'axios'; import AWS from 'aws-sdk'; import { v4 as uuidv4} from 'uuid'; -import { viggleProxyFileDo,viggleProxy, lumaProxy, runwayProxy, ideoProxy, ideoProxyFileDo } from './myfun' +import { viggleProxyFileDo,viggleProxy, lumaProxy, runwayProxy, ideoProxy, ideoProxyFileDo, klingProxy } from './myfun' const app = express() @@ -348,6 +348,7 @@ app.use('/viggle' ,authV2, viggleProxy); app.use('/pro/viggle' ,authV2, viggleProxy); app.use('/runway' ,authV2, runwayProxy ); +app.use('/kling' ,authV2, klingProxy ); app.use('/ideogram/remix' ,authV2, upload2.single('image_file'), ideoProxyFileDo ); app.use('/ideogram' ,authV2, ideoProxy ); diff --git a/service/src/myfun.ts b/service/src/myfun.ts index a61ede01c..0297b4020 100644 --- a/service/src/myfun.ts +++ b/service/src/myfun.ts @@ -32,7 +32,23 @@ export const runwayProxy=proxy(process.env.RUNWAY_SERVER?? API_BASE_URL, { }, proxyReqOptDecorator: function (proxyReqOpts, srcReq) { //mlog("sunoapi") - if ( process.env.LUMA_KEY ) proxyReqOpts.headers['Authorization'] ='Bearer '+process.env.RUNWAY_KEY; + if ( process.env.RUNWAY_KEY ) proxyReqOpts.headers['Authorization'] ='Bearer '+process.env.RUNWAY_KEY; + else proxyReqOpts.headers['Authorization'] ='Bearer '+process.env.OPENAI_API_KEY; + proxyReqOpts.headers['Content-Type'] = 'application/json'; + proxyReqOpts.headers['Mj-Version'] = pkg.version; + return proxyReqOpts; + }, + +}); + +export const klingProxy=proxy(process.env.KLING_SERVER?? API_BASE_URL, { + https: false, limit: '10mb', + proxyReqPathResolver: function (req) { + return req.originalUrl //req.originalUrl.replace('/sunoapi', '') // 将URL中的 `/openapi` 替换为空字符串 + }, + proxyReqOptDecorator: function (proxyReqOpts, srcReq) { + //mlog("sunoapi") + if ( process.env.KLING_KEY ) proxyReqOpts.headers['Authorization'] ='Bearer '+process.env.KLING_KEY; else proxyReqOpts.headers['Authorization'] ='Bearer '+process.env.OPENAI_API_KEY; proxyReqOpts.headers['Content-Type'] = 'application/json'; proxyReqOpts.headers['Mj-Version'] = pkg.version; @@ -64,7 +80,7 @@ export const ideoProxy=proxy(process.env.IDEO_SERVER?? API_BASE_URL, { return req.originalUrl //req.originalUrl.replace('/sunoapi', '') // 将URL中的 `/openapi` 替换为空字符串 }, proxyReqOptDecorator: function (proxyReqOpts, srcReq) { - if ( process.env.VIGGLE_KEY ) proxyReqOpts.headers['Authorization'] ='Bearer '+process.env.IDEO_KEY; + if ( process.env.IDEO_KEY ) proxyReqOpts.headers['Authorization'] ='Bearer '+process.env.IDEO_KEY; else proxyReqOpts.headers['Authorization'] ='Bearer '+process.env.OPENAI_API_KEY; proxyReqOpts.headers['Content-Type'] = 'application/json'; proxyReqOpts.headers['Mj-Version'] = pkg.version;