Skip to content

Giotto Alto

Giotto Alto is Giotto.ai's reasoning model. On LLMTR it is called on /v1/chat/completions as giotto/giotto-alto. It reads text and images and returns text. Before it answers it can use its own tools, such as reading web pages and running code.

Model Context Input / Output ($/1M)
giotto/giotto-alto 120,000 2.5862 / 12.931002

There is no cache price; every input token is billed at the input price.

Every request carries about 8,000 input tokens of the model's own instructions on top of your message, so even a one-word question costs about $0.02. The model may take several steps before it answers, and each step is billed. Read the real cost from the usage of each response.

Terminal window
curl "$LLMTR_BASE_URL/v1/chat/completions" \
-H "Authorization: Bearer llmtr-your_key" \
-H "Content-Type: application/json" \
-d '{
"model": "giotto/giotto-alto",
"messages": [
{ "role": "system", "content": "Answer briefly and clearly." },
{ "role": "user", "content": "Summarize the obligations in this contract clause in three points." }
]
}'

System messages and earlier turns reach the model. The last message must have the user role; a request that ends with an assistant message is refused with 400 invalid_request.

The model reasons on every request, and those tokens are billed as output. Choose the level with the reasoning_effort field or a suffix on the model id (giotto/giotto-alto:high).

Level What it does
medium The default.
high Checks the answer before returning it. Slower, and uses about twice the tokens of the same request.

Reasoning cannot be turned off: a request that sends "reasoning": false is refused with 400 invalid_request, and so is a level not in the list. Details: Reasoning effort.

Send images as image_url parts, as a base64 data URL or an https URL. PNG, JPEG, WebP and GIF are accepted. A request can carry at most 10 images, earlier turns included. File parts (input_file) are not accepted.

An answer can take from a few seconds to a minute or more; set your client timeout to a few minutes. With stream: true the answer arrives in one piece when it is ready, and "stream_options": { "include_usage": true } returns usage on the final chunk. Details: Streaming.

  • Function tools are not supported: a request that sends tools or a tool_choice other than none is refused with 400 invalid_request. The model cannot return a call to your function.
  • response_format other than text, stop, n above 1, logprobs and logit_bias are refused with the same error.
  • temperature, top_p, max_tokens and other fields the model does not use are not applied: they are removed from the request and listed in the response's llmtr_dropped_parameters field. The answer length cannot be capped.
  • Memory, calendar, mail, Slack and document search tools tied to a personal account are not available. A request that tries to use one is refused with 400 unsupported_input; rewrite it without asking the model to save, recall or read personal data.

This model is provided through a third-party provider.