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.
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.
Reasoning
Section titled “Reasoning”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.
Image input
Section titled “Image input”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.
Response time and streaming
Section titled “Response time and streaming”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.
Unsupported fields
Section titled “Unsupported fields”- Function tools are not supported: a request that sends
toolsor atool_choiceother thannoneis refused with400 invalid_request. The model cannot return a call to your function. response_formatother thantext,stop,nabove 1,logprobsandlogit_biasare refused with the same error.temperature,top_p,max_tokensand other fields the model does not use are not applied: they are removed from the request and listed in the response'sllmtr_dropped_parametersfield. 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.