Gemini 4 Carbon Is on SandBase: Try a Long-Horizon Coding Call Today

Call google/gemini-4-carbon on SandBase with POST /v1/chat/completions. Card price is $4/$20. A tiny 11 Nov call returned HTTP 200 in 3.21s.

Try today: call google/gemini-4-carbon on SandBase via POST /v1/chat/completions

The call you can finish today is a Chat Completions request with model google/gemini-4-carbon. It is not a hidden route, and it is not /v1/run. The Gemini 4 Carbon card was HTTP 200 on 11 November 2026. The hero price is $4 per million input tokens and $20 per million output tokens. Google’s $2 / $10 introductory price is a different bill.

One real call was made for this note, at 12:54:51 Asia/Shanghai the same day. It was a short arithmetic question, max_tokens 128, HTTP 200 in 3.21 seconds. The assistant text was “17 times 19 is 323.” That is not a long-horizon coding session. The long-horizon part is the request you send after this, with a higher token cap, on the same ID. I am not going to pretend the multiplication reply was a repository.

Key takeaway

  • SandBase ID: google/gemini-4-carbon. Endpoint: POST https://api.sandbase.ai/v1/chat/completions. The card’s published curl uses model, messages, and max_tokens only.
  • Hero: $4.00 / $20.00 / $0.20 cache read per million, no discount. 1M context, 65.5K max output. Hero inputs: Text, image, audio.
  • Recorded call, 11 November 2026, 12:54:51 Asia/Shanghai: HTTP 200, 3.21s, 48 prompt tokens, 55 completion tokens including 39 reasoning tokens, 103 total. The figure is a typographic read-out, not a vendor console.
  • At the card rate that usage is about $0.0013. At Google’s $2 / $10 intro it would be about $0.00065. SandBase is not billing the intro.
  • Coming from Argon, change the model string and allow more output tokens on the hard task. Do not add thinking_level. It was not in the card HTML.

What you need before the request

A SandBase API key in SANDBASE_API_KEY, and a balance. The first API call docs show the placeholder export and the Chat Completions URL. The key in that screenshot is a placeholder. Do not paste a live secret into a ticket.

SandBase "First API call" docs showing a placeholder export of SANDBASE_API_KEY and POST https://api.sandbase.ai/v1/chat/completions

First-call docs: OpenAI-compatible Chat Completions route and a placeholder API key, not a real secret.

You can open the playground without an account. Running a prompt needs a session. The URL that selects this model is the LLM playground with Carbon preselected.

SandBase LLM playground workbench with the model dropdown set to Google: Gemini 4 Carbon, opened from the playground URL with model=google/gemini-4-carbon

Live playground at /playground/llm?model=google%2Fgemini-4-carbon. The dropdown shows the display name “Google: Gemini 4 Carbon”. Inspecting models is anonymous; running a request requires a SandBase session.

The display name has a colon and the word Google in front. The string you put in JSON does not. It is google/gemini-4-carbon. Google’s own ID, gemini-4-carbon, is what you send to Google. On SandBase the vendor prefix is required. The Fairwind ID gemini-4-carbon-cyber-permissive is not on this card. Do not try it here.

Background on what shipped, what is still gated, and why the SandBase hero is $4 / $20 while Google’s intro is $2 / $10, is the availability note. Which job should stay on Argon is the routing note. The 29 October post is the Fairwind-era explainer, updated in place.

The curl the card actually publishes

The API tab and the card markdown agree on the route. This is the example published on the card. I am not claiming this exact “Hello” body was the timed call later in the page. max_tokens here is 2048, which is under the 65.5K hero cap.

API tab on the live SandBase Gemini 4 Carbon card, showing POST https://api.sandbase.ai/v1/chat/completions, model ID google/gemini-4-carbon, and a cURL example that uses that model ID

API tab on the live Carbon card. Endpoint is /v1/chat/completions, not /v1/run. The cURL uses model google/gemini-4-carbon and $SANDBASE_API_KEY.

Shell
curl -X POST https://api.sandbase.ai/v1/chat/completions \
  -H "Authorization: Bearer $SANDBASE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "google/gemini-4-carbon",
  "messages": [
    {
      "role": "user",
      "content": "Hello"
    }
  ],
  "max_tokens": 2048
}'

/v1/run is for media generation. A language model on this catalog uses Chat Completions. If a sample you found elsewhere posts Carbon to /v1/run, it is the wrong route.

Fields I am willing to send, because they are in that example: model, messages, max_tokens. The card markdown also says the model always reasons, with low, medium, or high effort, and that it supports function calling and structured output. The published curl does not include thinking_level, effort, temperature, top_p, top_k, or cachedContents. A search of the card HTML on 11 November 2026 found zero occurrences of thinking_level. Google’s own docs describe thinking_level and say custom sampling values are ignored. That is Google’s API. It is not a field I am putting in this SandBase body.

The one call that was actually run

At 12:54:51 Asia/Shanghai on 11 November 2026 (2026-11-11T12:54:51+08:00), a short request went to google/gemini-4-carbon. The read-out shows the user text “Reply with one short sentence only: what is 17 times 19?”, max_tokens 128, and "temperature": 0. HTTP 200. Elapsed 3.21 seconds. The assistant reply was:

17 times 19 is 323.

Usage on the read-out: 48 prompt tokens, 55 completion tokens, of which 39 were reasoning tokens, 103 total. The API key was redacted. 17 times 19 is 323, so the arithmetic in the reply is right. One correct product is not a coding benchmark, and 3.21 seconds is one sample from one network.

Typographic read-out of a real SandBase chat completion to google/gemini-4-carbon: HTTP 200 in 3.21s, assistant reply "17 times 19 is 323.", usage 48 prompt + 55 completion tokens including 39 reasoning tokens, 103 total; API key redacted

A real, tiny Chat Completions call run on 11 Nov 2026 at 12:54:51 Asia/Shanghai (max_tokens=128). This is a typographic read-out of the redacted request and response, not a vendor-console screenshot. Usage: 103 total tokens (39 reasoning).

The figure is a typographic read-out, and it does show that request body. The API key is marked not shown. Do not treat the picture as a screenshot of the SandBase console or of Google AI Studio. The card’s published curl does not include temperature. Google’s Gemini 4 docs say custom temperature is ignored. This one call does not show whether SandBase forwarded 0 or dropped it. The templates below follow the card and leave temperature out.

Cost at the card rate, arithmetic, not an invoice I was handed. Prompt tokens are the $4 rate. Completion tokens, including the 39 reasoning tokens already inside the 55, are the $20 rate. Do not add the 39 twice.

PieceTokensRateAmount
Prompt48$4 / 1M$0.000192
Completion, including 39 reasoning55$20 / 1M$0.001100
Card-rate total103$0.001292
Same tokens at Google’s $2 / $10 intro, not billed here103$0.000646

About a tenth of a cent at the SandBase hero, and about half of that if Google’s intro applied. It does not apply on this card. The interesting part is the mix: 39 of 55 completion tokens were reasoning, on a question a calculator finishes in one step. That is the token warning, in miniature. A long coding turn will not look like 55 tokens. Google says Carbon uses more tokens than Argon on complex tasks. Budget the output column.

A long-horizon coding call you can send

This body was not executed for the article. It uses only the fields the card publishes. max_tokens is 8192, still under the 65.5K cap. Raise it further only if the card still says 65.5K and your client can store the reply. Do not set 1,048,576. That long-decode figure is Google’s, and the SandBase hero does not show it.

Shell
curl -sS https://api.sandbase.ai/v1/chat/completions \
  -H "Authorization: Bearer $SANDBASE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "google/gemini-4-carbon",
  "messages": [
    {
      "role": "user",
      "content": "You are looking at a failing integration test. List the files you would open, the assertion that failed, and a minimal patch. Stop after the patch. Do not claim you ran the test unless command output is in the conversation."
    }
  ],
  "max_tokens": 8192
}'

Replace the user content with the real failure, the paths, and the log. The prompt above is a shape, not evidence that Carbon is good at your repo. If you need the model to see a screenshot, the hero accepts image input. The card also says “Add an image (optional)” on the on-page playground. I did not send an image in the recorded call. Video and PDF appear in the card body and the markdown, and they are absent from the hero chip row (Text, image, audio). I would not promise a video input on the chip row.

When the reply comes back, check three things before you trust it. The HTTP status. The finish reason, if your client prints one. The usage block, especially completion tokens versus the max_tokens you set. A reply that stops because it hit the cap is a truncated patch. Raise max_tokens and run it again. Do not add an undocumented knob to “make it think harder.”

Switching a working Argon call

If you already call Gemini 4 Argon, the SandBase change is the model string. Argon’s card on 11 November 2026 was also $4 / $20 / $0.20, no discount, 1M / 65.5K. The Python tutorial is the longer Argon client. Its price commentary is older than today’s hero. Read the card for the rate, and the tutorial for the client shape.

Shell
curl -sS https://api.sandbase.ai/v1/chat/completions \
  -H "Authorization: Bearer $SANDBASE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "google/gemini-4-carbon",
  "messages": [
    {
      "role": "user",
      "content": "Reuse the Argon prompt here. This request only changes the model id."
    }
  ],
  "max_tokens": 8192
}'

What I would change, and what I would leave alone:

  1. Change google/gemini-4-argon to google/gemini-4-carbon.
  2. On a task Argon already failed, allow more output tokens. Google’s reason is more thinking and longer verification, not a different URL.
  3. Leave thinking_level out until the Carbon card documents it.
  4. Leave temperature, top_p, and top_k out of this body. Google says those custom values are ignored on Gemini 4. I have not verified a SandBase error string for them.
  5. Do not send explicit cache contents. Google documents implicit caching only, with a 4,096-token minimum. The SandBase hero lists a cache-read price of $0.20 per million. That line is not a request field.
  6. Re-read the hero before you tell finance the job is on the $2 / $10 intro. It is not.

The Argon access note is the pre-launch history. It is the wrong page for today’s Carbon ID.

When the loop should not be Carbon

A retry-heavy agent will feel the $20 output price, especially if a large share of completion tokens are reasoning, as they were in the tiny call. Gemini 3.8 Flash on 11 November 2026 showed 15% off: $1.27 / $6.38 against $1.50 / $7.50, 1M context, 65.5K max output. Same endpoint, different ID. The token mix from the recorded Carbon call, priced at the Flash hero and not re-run, would be about $0.00041. That comparison is arithmetic. It is not a quality result.

Shell
curl -sS https://api.sandbase.ai/v1/chat/completions \
  -H "Authorization: Bearer $SANDBASE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "google/gemini-3.8-flash",
  "messages": [
    {
      "role": "user",
      "content": "Same user content as the Carbon call you are comparing."
    }
  ],
  "max_tokens": 2048
}'

Use Flash for the cheap loop. Use Argon for ordinary Gemini 4 work. Use Carbon when that work has already hit a limit and you accept more output tokens at $20 per million. Use neither public ID for Fairwind cyber benchmarks. That SKU is still gated, and this tutorial does not include it.

FAQ

Which URL do I post to?

https://api.sandbase.ai/v1/chat/completions. Model google/gemini-4-carbon. Not /v1/run.

Did you run a long coding job?

No. The executed call returned “17 times 19 is 323.” in 3.21 seconds, with 103 tokens. The coding curl above is a template.

Why was the bill not half price?

Google’s Standard intro is $2 / $10 through 30 November 2026. The SandBase hero opened the same day is $4 / $20 with no discount. The recorded usage at the hero is about $0.0013.

Can I set thinking level?

Not from this card. Google documents low, medium, and high. The SandBase HTML did not contain thinking_level, and the published curl omits it. The recorded call still reported 39 reasoning tokens. One call is not a control knob.

What is the max output I should plan for?

65.5K, which is the hero. Google’s 1M long decode is not printed as the SandBase max output.

Open the Carbon card, create a key from the first-call docs, and send the published curl before you send the long one. If you only want to see the name in a dropdown, the playground loads it without a run.

Card, playground, and first-call docs checked 11 November 2026, Asia/Shanghai. The timed call was 12:54:51 Asia/Shanghai that day. Google’s thinking levels and the $2 / $10 intro are cited as Google’s, and they are not fields or prices on the SandBase request this page tells you to send.

Found this useful? Share it