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();