GPT Image 2.5 Flare & Sunburst are live on EvoLinkTry GPT Image 2.5
Two metal connectors aligned with a transparent adapter
Use Cases

How to Set Up Gemini in SillyTavern: Connection and Troubleshooting

EvoLink Team
EvoLink Team
Product Team
October 16, 2026
6 min read

Your API key works in one tool, but SillyTavern cannot find the model or returns a 400 error. Before changing a preset, establish which API route, URL shape, and model ID the client is actually sending.

Connect with a minimal profile first, verify one short response, then restore character prompts and optional features incrementally. Keep native Gemini and OpenAI-compatible request formats distinct.

Choose the connection path before entering a key

SillyTavern documents a custom OpenAI-compatible connection. The example below uses that path with EvoLink's documented Chat Completions endpoint. It is a documentation-based setup to verify in your installed version; it does not claim every preset or extension is compatible.
SettingValue for this pathCommon mistake
API typeChat CompletionChoosing Text Completion
SourceCustom (OpenAI-compatible)Pasting this URL into a different provider's native connection
Base URLhttps://direct.evolink.ai/v1Adding /chat/completions again in the base field
API keyYour EvoLink keyA key issued by a different provider
Model IDgemini-4-argonUsing the page slug gemini-4 as an API model ID
The full request endpoint is https://direct.evolink.ai/v1/chat/completions. SillyTavern's base field takes the shorter value because the client appends the route. EvoLink's request tutorial documents the Chat Completions URL; use the Gemini model page for its current model ID and supported protocols.

Verify one short request before adding the preset

If you want to distinguish client configuration from route failure, try this minimal request using a local environment variable:

curl https://direct.evolink.ai/v1/chat/completions   -H "Authorization: Bearer $EVOLINK_API_KEY"   -H "Content-Type: application/json"   -d '{"model":"gemini-4-argon","messages":[{"role":"user","content":"Reply with OK."}],"max_tokens":2048,"stream":false}'

A successful raw response would establish that this credential, route, and model worked for that request. It would not establish compatibility with every later tool call or character preset. Record the status and body; do not paste credentials into screenshots or support logs.

In SillyTavern, save the custom profile and send a short test message. If the model dropdown is empty, the official documentation allows a manually entered model ID when a provider does not expose a usable model list. An empty list is a discovery problem, not proof that generation is unavailable.

Restore features one at a time

Start with a plain user message and ordinary text output. Then restore the system/character prompt, multi-turn history, streaming, and any tools or extensions one at a time. When a failure appears, compare the request before and after that change.

ObservationInspect first
401 or authentication failureCredential, destination, and account access
404 or wrong-path responseBase URL, duplicated suffix, and model availability
400 invalid argumentActual serialized fields, roles, and optional features
Empty or truncated replyResponse body, output limit, finish reason, and client parsing
Request succeeds but client still warnsModel discovery/status check and installed-client behavior

Do not turn on “Bypass API status check” merely to hide a failed request. First establish successful generation, then determine whether the warning concerns a separate discovery check.

Diagnose the exact model-turn 400 message

A generic 400 is not one universal error. If the full provider body specifically says Requests ending with a model turn are not supported, inspect the final serialized conversation. A visible input box does not prove the final sent message is a user turn; prefill, continuation, history conversion, or extensions can change it.

For a plain text test, use a fresh chat ending with a real user message and remove assistant-prefill or continuation settings. Reintroduce them separately. If tools are involved, inspect the complete tool-call/result sequence against the provider's requirements rather than deleting tool records or changing role names blindly.

SillyTavern documents prompt post-processing variants, including options that remove tools. A converter can change behavior as well as satisfy role constraints. Check which variant is active and test the intended feature after a change. A community report on another provider or model is a diagnostic clue, not a verified fix for your route.

Inspect long-chat usage and caching

Longer history can increase input usage even if the latest message is short. Record input, output, reported cache usage where available, and total billed amount for comparable requests. Do not infer cache hits simply because the same character prompt appears in the UI.

SillyTavern's configuration documentation marks its gemini.enableSystemPromptCache option as OpenRouter-specific. That switch is not evidence that the same behavior applies to this custom EvoLink path.
Use the current Gemini pricing section and reported request usage rather than copying a price table into this tutorial. Compare total cost for accepted replies, including retries; a cheaper individual attempt can still produce a more expensive usable conversation.

Keep a reproducible support record

Retain installed SillyTavern version, connection type, base URL without credentials, model ID, enabled features, HTTP status, redacted body, and a minimal reproduction. Save the working profile before changing several settings.

For an Agent-assisted investigation, ask it to compare the serialized minimal request and failing request and identify the first unsupported field or sequence. Use EvoLink's model-page instructions for the actual call; do not send a troubleshooting transcript containing a live key.

FAQ

Is the Base URL the full Chat Completions endpoint?

For this custom profile, enter the base ending in /v1; the client supplies /chat/completions.

What if the model list does not contain Gemini 4?

Check the current API model ID and use the documented manual-entry option. Then test generation independently of discovery.

Does every 400 require removing a final assistant message?

No. Inspect the full error. The model-turn diagnosis applies to that specific signature and still needs request inspection.

Use the credential for the destination you are calling. This path uses an EvoLink key.

Does the cache setting guarantee savings here?

No. Confirm provider-specific support and actual reported usage on the selected route.

What should I send with a bug report?

Version, route and model, enabled features, redacted error, and minimal reproduction. Keep credentials out of it.

Sources

Connect AI models through one API

Compare models and current pricing, then follow the API documentation to integrate your chosen model.