Gemini nativ
Inhalte generieren
Generiert Inhalte unter Verwendung des Google Gemini API-Formats
Verwenden Sie die Gemini-Anfrage- und Antwortformate mit einem Modell, das von der Gemini Models API zurückgegeben wird. ProtoJSON lowerCamelCase und die entsprechenden proto snake_case Feldnamen werden akzeptiert. Unterstützte optionale Felder und Werte hängen vom ausgewählten Modell ab.
Pfadparameter
Modellname (z. B. gemini-2.5-pro, gemini-3.5-flash).
Abfrageparameter
API-Schlüssel (Alternative zur Header-Authentifizierung).
Authentifizierung
Gemini-Endpunkte unterstützen mehrere Authentifizierungsmethoden:
?key=YOUR_API_KEYAbfrageparameterx-goog-api-key: YOUR_API_KEYHeaderAuthorization: Bearer YOUR_API_KEYHeader
Anfragekörper
Konversationsinhalte mit parts und einer optionalen role. Medien-Parts verwenden inlineData / inline_data oder fileData / file_data. Dateien und Cache-IDs, die von TokenLab erstellt wurden, können nur in ihrem zugehörigen Workspace verwendet werden.
Systemanweisung für das Modell.
Generierungseinstellungen wie temperature, topP, topK, maxOutputTokens, stopSequences, candidateCount, responseModalities, responseMimeType, responseSchema und thinkingConfig. Entsprechende snake_case-Namen werden ebenfalls akzeptiert. Unterstützte Werte und Kombinationen hängen vom Modell ab.
Einstellungen für Sicherheitsfilter.
Jedes oben gezeigte lowerCamelCase-Feld kann auch in der offiziellen proto snake_case-Schreibweise verwendet werden, zum Beispiel system_instruction, generation_config, safety_settings, tool_config, cached_content, file_data.file_uri und inline_data.mime_type.
Unterstützte Methoden
Die Gemini-kompatible API umfasst das Auflisten/Abrufen von Modellen, generateContent, streamGenerateContent, countTokens, embedContent und batchEmbedContents. Gemini Interactions und Live sind nicht verfügbar.
Antwort
Kandidaten für generierte Inhalte.
Informationen zur Token-Nutzung.
Anfrage
curl -X POST "https://api.tokenlab.sh/v1beta/models/gemini-2.5-pro:generateContent?key=sk-your-api-key" \
-H "Content-Type: application/json" \
-d '{
"contents": [
{
"parts": [{"text": "Hello, Gemini!"}]
}
],
"generationConfig": {
"temperature": 0.7,
"maxOutputTokens": 1024
}
}'Beispiel für Vision-Input
Für multimodale Gemini-Anfragen platzieren Sie Medien innerhalb von contents[].parts[] unter Verwendung von Inline-Bytes oder URL-basierten Dateireferenzen.
Unterstützte Medienkategorien im öffentlichen Gemini-Vertrag:
- image
- audio
- video
Für Inline-Medien verwenden Sie entweder inlineData oder inline_data und übergeben Sie Base64-kodierte Dateibytes.
Für URL-basierte Medien verwenden Sie entweder fileData oder file_data und übergeben Sie eine öffentliche https-URL.
Beispiel für Video-Input
{
"contents": [
{
"role": "user",
"parts": [
{ "text": "Please describe this video." },
{
"fileData": {
"mimeType": "video/mp4",
"fileUri": "https://example.com/demo.mp4"
}
}
]
}
]
}Beispiel für Audio-Input
{
"contents": [
{
"role": "user",
"parts": [
{ "text": "Please describe this audio." },
{
"fileData": {
"mimeType": "audio/mpeg",
"fileUri": "https://example.com/demo.mp3"
}
}
]
}
]
}Beispiel für Image-Input
Verwenden Sie Inline-Bildbytes:
{
"contents": [
{
"role": "user",
"parts": [
{ "text": "Please describe this image." },
{
"inlineData": {
"mimeType": "image/jpeg",
"data": "/9j/4AAQSkZJRgABAQ..."
}
}
]
}
]
}Verwenden Sie eine Bild-URL:
{
"contents": [
{
"role": "user",
"parts": [
{ "text": "Please describe this image." },
{
"fileData": {
"mimeType": "image/jpeg",
"fileUri": "https://example.com/demo.jpg"
}
}
]
}
]
}Beispiel für Audio-Input
Verwenden Sie eine Audio-URL:
{
"contents": [
{
"role": "user",
"parts": [
{ "text": "Transcribe and summarize this audio." },
{
"file_data": {
"mime_type": "audio/mpeg",
"file_uri": "https://example.com/sample.mp3"
}
}
]
}
]
}Beispiel für Video-Input
Verwenden Sie eine Video-URL:
{
"contents": [
{
"role": "user",
"parts": [
{ "text": "Describe this video briefly." },
{
"fileData": {
"mimeType": "video/mp4",
"fileUri": "https://example.com/sample.mp4"
}
}
]
}
]
}Antwort
{
"candidates": [
{
"content": {
"role": "model",
"parts": [
{"text": "Hello! How can I assist you today?"}
]
},
"finishReason": "STOP",
"safetyRatings": [
{"category": "HARM_CATEGORY_HARASSMENT", "probability": "NEGLIGIBLE"}
]
}
],
"usageMetadata": {
"promptTokenCount": 5,
"candidatesTokenCount": 10,
"totalTokenCount": 15
}
}Zugehörige Schnittstellen
Lesen Sie die aktuellen Modelldetails des ausgewählten Modells, bevor Sie eine andere Schnittstelle verwenden. Verfügbarkeit und Anfragefelder hängen vom Modell ab.
| HTTP | API |
|---|---|
| POST | /v1beta/models/{model}:countTokens |
| POST | /v1beta/models/{model}:embedContent |
| POST | /v1beta/models/{model}:batchEmbedContents |
Die Token-Zählung erfordert einen API-Schlüssel und wird nicht in Rechnung gestellt. Die zurückgegebene Eingabeanzahl ist eine Schätzung für die Planung; verwenden Sie die endgültige Antwortnutzung und den Abrechnungsdatensatz für die tatsächliche Berechnung.
countTokens: contents / generateContentRequest
embedContent: content, taskType, title, outputDimensionality
batchEmbedContents: requests
Autorisierung
BearerAuth API-Key-Authentifizierung. Erstellen oder verwalten Sie API-Keys unter Dashboard > API > API Keys.
Ort: header
Pfadparameter
Modellname (z. B. gemini-2.5-pro)
Abfrageparameter
API-Schlüssel (Alternative zur Header-Authentifizierung)
Header
Zustellungsrichtlinie pro Anfrage. Überschreibt die API-Key- und Workspace-Standardeinstellungen. Versucht automatisch zuerst TokenLab Verified und kann vor der Ausgabe, der Annahme der Anfrage oder der Erstellung persistenter Ressourcen einmalig auf Official umstellen.
Zulässige Werte
- "auto"
- "verified"
- "official"
Anfragekörper
application/json
Native Gemini GenerateContent-Anfrage. ProtoJSON lowerCamelCase und originale proto snake_case-Namen werden beide akzeptiert und beibehalten, einschließlich gemischter Anfragen. Wenn beide Schreibweisen eines Feldes vorhanden sind, führt TokenLab keine Zusammenführung durch und wählt keine lokale Priorität. Unbekannte Felder werden nach bestem Bemühen weitergeleitet.
Antwort
application/json
application/json
application/json
application/json
application/json
application/json