UNPKG

ai-platform-converter

Version:

Lossless API parameter conversion between multiple AI platforms (OpenAI, Anthropic, Gemini, DeepSeek, Wenwen, Vertex AI, Huawei, BigModel)

63 lines (62 loc) 1.92 kB
"use strict"; /** * Convert RapidAPI request to OpenAI format */ Object.defineProperty(exports, "__esModule", { value: true }); exports.convertRapidAPIRequestToOpenAI = convertRapidAPIRequestToOpenAI; const common_1 = require("../../types/common"); const helpers_1 = require("../../utils/helpers"); /** * Convert RapidAPI request to OpenAI format */ function convertRapidAPIRequestToOpenAI(request, _options) { const { endpoint, parameters } = request; // Convert parameters based on endpoint let convertedParameters; if (endpoint === 'face-swap') { convertedParameters = convertFromFaceSwapParameters(parameters); } else if (endpoint === 'face-detect') { convertedParameters = convertFromFaceDetectParameters(parameters); } else { throw new Error(`Unsupported RapidAPI endpoint: ${endpoint}`); } // Build OpenAI request with RapidAPI extensions const openaiRequest = { model: 'rapidapi-' + endpoint, messages: [], _extensions: { platform: common_1.Platform.RapidAPI, rapidapi: { endpoint, parameters: convertedParameters } } }; return (0, helpers_1.removeUndefined)(openaiRequest); } /** * Convert from RapidAPI face swap parameters */ function convertFromFaceSwapParameters(parameters) { return { videoUrl: parameters.videoUrl, items: parameters.items?.map((item) => ({ faceUrl: item.faceUrl, sourceUrl: item.sourceUrl })), startSeconds: parameters.startSeconds, endSeconds: parameters.endSeconds }; } /** * Convert from RapidAPI face detect parameters */ function convertFromFaceDetectParameters(parameters) { return { videoUrl: parameters.videoUrl, startSeconds: parameters.startSeconds, endSeconds: parameters.endSeconds }; }