curl --request POST \
--url https://direct.evolink.ai/v1beta/models/{model}:generateContent \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"contents": [
{
"role": "user",
"parts": [
{
"text": "Please introduce yourself"
}
]
}
]
}
'{
"candidates": [
{
"content": {
"role": "model",
"parts": [
{
"text": "Hello! I'm pleased to introduce myself.\n\nI'm a large language model, trained and developed by Google...",
"thought": true,
"thoughtSignature": "<Signature_A>"
}
]
},
"finishReason": "STOP",
"index": 0,
"safetyRatings": [
{}
]
}
],
"promptFeedback": {
"safetyRatings": [
{}
]
},
"usageMetadata": {
"promptTokenCount": 4,
"candidatesTokenCount": 611,
"totalTokenCount": 2422,
"thoughtsTokenCount": 1807,
"promptTokensDetails": [
{
"modality": "TEXT",
"tokenCount": 4
}
],
"cachedContentTokenCount": 0
},
"modelVersion": "gemini-3.6-flash",
"responseId": "l-LoaPu0BPmo1dkP6ZPHiQc"
}{
"error": {
"code": 400,
"message": "Ungültige Anfrageparameter",
"type": "invalid_request_error"
}
}{
"error": {
"code": 401,
"message": "Invalid or expired token",
"type": "authentication_error"
}
}{
"error": {
"code": 402,
"message": "Unzureichendes Kontingent",
"type": "insufficient_quota_error",
"fallback_suggestion": "https://evolink.ai/dashboard/billing"
}
}{
"error": {
"code": 403,
"message": "Access denied for this model",
"type": "permission_error"
}
}{
"error": {
"code": 404,
"message": "Model not found",
"type": "not_found_error"
}
}{
"error": {
"code": 413,
"message": "Anfragekörper zu groß",
"type": "request_too_large_error",
"fallback_suggestion": "reduce file size"
}
}{
"error": {
"code": 429,
"message": "Ratenlimit überschritten",
"type": "rate_limit_error",
"fallback_suggestion": "retry after 60 seconds"
}
}{
"error": {
"code": 500,
"message": "Interner Serverfehler",
"type": "internal_server_error",
"fallback_suggestion": "try again later"
}
}{
"error": {
"code": 502,
"message": "Upstream AI service unavailable",
"type": "upstream_error",
"fallback_suggestion": "try again later"
}
}{
"error": {
"code": 503,
"message": "Dienst vorübergehend nicht verfügbar",
"type": "service_unavailable_error",
"fallback_suggestion": "retry after 30 seconds"
}
}Gemini Schnittstelle für alle Modelle - natives API-Format
Wählen Sie über {model} im Pfad das aufzurufende Gemini-Textmodell aus (alle möglichen Werte finden Sie in der Vergleichstabelle des Parameters model).
- Verwendet das native Google-API-Format und gibt Gesprächsinhalte synchron zurück
- Reiner Text / multimodale Eingabe: gemischte Eingabe aus Text + Bild / Audio / Video
- Streaming: Ersetzen Sie
generateContentim Pfad durchstreamGenerateContent(optional?alt=sseanhängen, um SSE zu erhalten)
Modellspezifikationen und Unterschiede
- Verhalten von 3.8: Im Vergleich zu 3.7 bietet das Modell bessere Softwareentwicklung, Agentenfähigkeiten, mehrstufiges Reasoning und multimodale Genauigkeit; insbesondere bei
highkann es mehr Reasoning- / Ausgabe-Token verbrauchen. Für latenzkritische Szenarien wirdlow, für allgemeine Aufgaben der Standardwertmediumund für komplexen Code, lange Videos oder mehrstufiges Reasoninghighempfohlen. - Sampling-Parameter
temperature/topP/topK: Bei der gesamten Gemini-3.x-Serie einheitlich, benutzerdefinierte Werte beeinflussen die Ausgabe nicht;topKwird ignoriert und hat keine Wirkung,temperature/topPaußerhalb des gültigen Bereichs geben einen 400 zurück. - Denksteuerung: Die Gemini-3.x-Serie verwendet
thinkingConfig.thinkingLevel(die von jedem Modell unterstützten Stufen und Standardwerte siehe ParameterthinkingLevel); die Gemini-2.5-Serie verwendetthinkingConfig.thinkingBudget(Ganzzahl,0=deaktiviert). Beide schließen sich gegenseitig aus.gemini-3.8-flash/gemini-3.7-flashund die Pro-Serie unterstützenminimalnicht; ein übergebener Wert wird automatisch auflowherabgestuft. - Funktionsaufruf: Die
FunctionResponsevon Gemini 3.x muss dieidund dennamezurückgeben, die zum entsprechendenFunctionCallpassen, sonst tritt ein Fehler auf. - Rolle der letzten Runde: Die
roleder letzten Nachricht darf nichtmodelsein (Gemini 3.5+ gibt sonst einen Fehler zurück). - Token-Obergrenze:
gemini-3.8-flash/gemini-3.7-flash/gemini-3.6-flash/gemini-3.5-flash-liteKontext 1,048,576, maximale Ausgabe 65,536; bei allen anderen Modellen gelten die jeweiligen Spezifikationen.
curl --request POST \
--url https://direct.evolink.ai/v1beta/models/{model}:generateContent \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"contents": [
{
"role": "user",
"parts": [
{
"text": "Please introduce yourself"
}
]
}
]
}
'{
"candidates": [
{
"content": {
"role": "model",
"parts": [
{
"text": "Hello! I'm pleased to introduce myself.\n\nI'm a large language model, trained and developed by Google...",
"thought": true,
"thoughtSignature": "<Signature_A>"
}
]
},
"finishReason": "STOP",
"index": 0,
"safetyRatings": [
{}
]
}
],
"promptFeedback": {
"safetyRatings": [
{}
]
},
"usageMetadata": {
"promptTokenCount": 4,
"candidatesTokenCount": 611,
"totalTokenCount": 2422,
"thoughtsTokenCount": 1807,
"promptTokensDetails": [
{
"modality": "TEXT",
"tokenCount": 4
}
],
"cachedContentTokenCount": 0
},
"modelVersion": "gemini-3.6-flash",
"responseId": "l-LoaPu0BPmo1dkP6ZPHiQc"
}{
"error": {
"code": 400,
"message": "Ungültige Anfrageparameter",
"type": "invalid_request_error"
}
}{
"error": {
"code": 401,
"message": "Invalid or expired token",
"type": "authentication_error"
}
}{
"error": {
"code": 402,
"message": "Unzureichendes Kontingent",
"type": "insufficient_quota_error",
"fallback_suggestion": "https://evolink.ai/dashboard/billing"
}
}{
"error": {
"code": 403,
"message": "Access denied for this model",
"type": "permission_error"
}
}{
"error": {
"code": 404,
"message": "Model not found",
"type": "not_found_error"
}
}{
"error": {
"code": 413,
"message": "Anfragekörper zu groß",
"type": "request_too_large_error",
"fallback_suggestion": "reduce file size"
}
}{
"error": {
"code": 429,
"message": "Ratenlimit überschritten",
"type": "rate_limit_error",
"fallback_suggestion": "retry after 60 seconds"
}
}{
"error": {
"code": 500,
"message": "Interner Serverfehler",
"type": "internal_server_error",
"fallback_suggestion": "try again later"
}
}{
"error": {
"code": 502,
"message": "Upstream AI service unavailable",
"type": "upstream_error",
"fallback_suggestion": "try again later"
}
}{
"error": {
"code": 503,
"message": "Dienst vorübergehend nicht verfügbar",
"type": "service_unavailable_error",
"fallback_suggestion": "retry after 30 seconds"
}
}generateContent durch streamGenerateContent in der URL. Die Request-Body-Parameter sind identisch. Die Antworten werden als Streaming-Chunks zurückgegeben. Siehe den Abschnitt „Streaming-Antwort“ unten für das Antwortformat.https://direct.evolink.ai und bietet bessere Unterstützung für Textmodelle sowie persistente Verbindungen. https://api.evolink.ai ist der primäre Endpunkt für multimodale Dienste und dient bei Textmodellen als Ausweichadresse.Autorisierungen
##Alle APIs erfordern Bearer-Token-Authentifizierung##
API-Schlüssel erhalten:
Besuchen Sie die API-Schlüsselverwaltungsseite, um Ihren API-Schlüssel zu erhalten
Zum Anfrage-Header hinzufügen:
Authorization: Bearer YOUR_API_KEY
Pfadparameter
Wählen Sie das aufzurufende Gemini-Textmodell aus:
| Modell-ID | Serie | Positionierung |
|---|---|---|
gemini-3.8-flash | 3.8 Flash | Verbesserte Softwareentwicklung / Agents / mehrstufiges Reasoning / multimodale Genauigkeit |
gemini-3.7-flash | 3.7 Flash | Agentic auf Pro-Niveau / Codegenerierung / Terminal-Ausführung |
gemini-3.6-flash | 3.6 Flash | Mehrschritt-Orchestrierung / Code-Refactoring / allgemeines Reasoning |
gemini-3.5-flash | 3.5 Flash | Universal-Flash |
gemini-3.5-flash-lite | 3.5 Flash-Lite | Niedrige Kosten / hoher Durchsatz / leichtgewichtiger Agent |
gemini-3.1-pro-preview | 3.1 Pro (Preview) | Fortgeschrittenes Reasoning |
gemini-3.1-pro-preview-customtools | 3.1 Pro · CustomTools | Fortgeschrittenes Reasoning + benutzerdefinierte Tools |
gemini-3.1-flash-lite-preview | 3.1 Flash-Lite (Preview) | Niedrige Kosten |
gemini-3-pro-preview | 3.0 Pro (Preview) | Fortgeschrittenes Reasoning |
gemini-3-flash-preview | 3.0 Flash (Preview) | Universal-Flash |
gemini-2.5-pro | 2.5 Pro | Fortgeschrittenes Reasoning |
gemini-2.5-flash | 2.5 Flash | Universal-Flash |
gemini-2.5-flash-lite | 2.5 Flash-Lite | Niedrige Kosten |
gemini-3.8-flash, gemini-3.7-flash, gemini-3.6-flash, gemini-3.5-flash, gemini-3.5-flash-lite, gemini-3.1-pro-preview, gemini-3.1-pro-preview-customtools, gemini-3.1-flash-lite-preview, gemini-3-pro-preview, gemini-3-flash-preview, gemini-2.5-pro, gemini-2.5-flash, gemini-2.5-flash-lite "gemini-3.6-flash"
Body
List of conversation contents, supports multi-turn dialogue and multimodal input
1Show child attributes
Show child attributes
Generation configuration parameters (optional)
Show child attributes
Show child attributes
System instruction (optional), mainly text content
Show child attributes
Show child attributes
List of tools the model can call, such as function calling or code execution
Tool calling configuration (optional)
Safety settings list (optional)
Cached content name, in the form cachedContents/{cachedContent}
Antwort
Inhalt erfolgreich generiert
Beschreibung des Antwortformats:
- Bei Verwendung des
generateContent-Endpunkts wirdGenerateContentResponsezurückgegeben (gibt vollständige Antwort auf einmal zurück) - Bei Verwendung des
streamGenerateContent-Endpunkts wirdStreamGenerateContentResponsezurückgegeben (Streaming-Antwort, gibt Inhalt in Teilen zurück)
- Synchrone Antwort
- Stream-Antwort