File size: 2,114 Bytes
9ce3455 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | import fetch from 'node-fetch';
import dotenv from 'dotenv';
dotenv.config();
async function testGeminiDirect() {
const apiKey = process.env.GEMINI_API_KEY || 'AIzaSyAQudSMm7BbOkL3P5f01FoefcboH9jBHQo';
// Try different API versions and models
const tests = [
{
url: `https://generativelanguage.googleapis.com/v1beta/models/gemini-pro:generateContent?key=${apiKey}`,
model: 'gemini-pro (v1beta)'
},
{
url: `https://generativelanguage.googleapis.com/v1/models/gemini-pro:generateContent?key=${apiKey}`,
model: 'gemini-pro (v1)'
},
{
url: `https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash:generateContent?key=${apiKey}`,
model: 'gemini-1.5-flash (v1beta)'
}
];
console.log('🔍 Testing Gemini API directly...\n');
for (const test of tests) {
try {
console.log(`Testing: ${test.model}`);
const response = await fetch(test.url, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
contents: [{
parts: [{ text: 'Say hello' }]
}]
})
});
const data = await response.json();
if (response.ok) {
console.log(`✅ SUCCESS: ${test.model} works!`);
console.log(` Response: ${JSON.stringify(data, null, 2)}\n`);
return test;
} else {
console.log(`❌ FAILED: ${test.model}`);
console.log(` Status: ${response.status}`);
console.log(` Error: ${data.error?.message || JSON.stringify(data)}\n`);
}
} catch (error) {
console.log(`❌ ERROR: ${test.model}`);
console.log(` ${error.message}\n`);
}
}
console.log('❌ All tests failed! API key might be invalid.');
}
testGeminiDirect();
|