mirror of
https://github.com/SillyTavern/SillyTavern.git
synced 2025-06-05 21:59:27 +02:00
31 lines
926 B
JavaScript
31 lines
926 B
JavaScript
import express from 'express';
|
|
import { jsonParser } from '../express-common.js';
|
|
|
|
export const router = express.Router();
|
|
const API_OPENROUTER = 'https://openrouter.ai/api/v1';
|
|
|
|
router.post('/models/multimodal', jsonParser, async (_req, res) => {
|
|
try {
|
|
// The endpoint is available without authentication
|
|
const response = await fetch(`${API_OPENROUTER}/models`, {
|
|
method: 'GET',
|
|
headers: {
|
|
'Accept': 'application/json',
|
|
},
|
|
});
|
|
|
|
if (!response.ok) {
|
|
return res.json([]);
|
|
}
|
|
|
|
const data = await response.json();
|
|
const models = data?.data || [];
|
|
const multimodalModels = models.filter(m => m?.architecture?.modality === 'text+image->text').map(m => m.id);
|
|
|
|
return res.json(multimodalModels);
|
|
} catch (error) {
|
|
console.error(error);
|
|
return res.sendStatus(500);
|
|
}
|
|
});
|