gemini-3-pro-preview
Gemini 3 Pro Preview — мультимодальная модель Google для рассуждений, которая принимает текст, изображения, аудио, видео и PDF и возвращает текст. Большой объём входа, возможности программирования и поддерживаемые сценарии работы с инструментами подходят для подробного анализа, сравнения документов и выполнения задач на основе источников.
- Ailoot Ultra · Чат OpenAI
POST /v1/chat/completionsgemini-3-pro-preview - Ailoot Ultra · Сообщения Anthropic
POST /v1/messagesgemini-3-pro-preview
О модели
Описание раскрывает возможности модели. Доступные в Ailoot входные данные, результаты и параметры выбранного метода перечислены ниже.
Gemini 3 Pro Preview — предварительная версия Gemini 3 Pro от Google для мультимодальных рассуждений и генерации текста. Она может работать с текстом, изображениями, аудио, видео и PDF-документами и возвращать письменный результат. Среди предполагаемых применений — сложный анализ, продвинутое программирование, разработка алгоритмов и задачи, сочетающие большой набор источников с конкретным вопросом.
Модель и структура входных данных
Gemini 3 Pro — модель на основе трансформера с разреженной смесью экспертов и встроенной поддержкой мультимодального входа. Её архитектура направляет каждый токен в выбранное подмножество экспертов. Это особенность устройства модели, а не пользовательская настройка для выбора определённого эксперта или фиксации конфигурации обслуживания.
Подготавливайте входные данные исходя из того, какая информация нужна для задачи. Документ, снимок экрана и аудиозапись могут предоставлять разные свидетельства. Укажите, что содержит каждый материал и как он должен участвовать в формировании ответа. Вывод остаётся текстовым: понимание визуальных или речевых материалов не превращает эту предварительную версию в генератор изображений, речи или видео.
Мультимодальный анализ
Используйте изображения для вопросов о видимом содержимом, аудио — для речевой или акустической информации, а видео — для последовательностей, в которых важны изменения во времени. Прикладывайте сам материал к вопросу, а не описывайте его только по памяти. При сравнении нескольких материалов давайте им понятные метки, чтобы ответ мог ссылаться на нужный источник.
Например, задание на анализ продукта может объединять письменную спецификацию, снимок интерфейса и запись демонстрации. Запросите сравнение, отделяющее обещанное в спецификации от того, что видно или слышно в предоставленных материалах. Определите желаемый результат: выводы, подтверждающие наблюдения и нерешённые вопросы.
Для задачи с PDF предоставьте документ и укажите разделы или утверждения, которые нужно изучить. Полезный вопрос требует сравнения, извлечения данных или объяснения с опорой на источник, а не только общего пересказа большого файла.
Длинный контекст и лимит вывода
Спецификация именно этой предварительной версии указывает лимит входа 1 048 576 токенов и лимит вывода 65 536 токенов. Производитель сообщает о срезе знаний на январь 2025 года; предоставляйте более свежие источники, если вопрос зависит от последующих событий или сведений. Это разные ограничения. Большой набор источников можно прочитать ради конкретного ответа, не требуя от модели воспроизвести каждую часть входа.
Организуйте длинный материал так, чтобы его структура была понятна: названия документов, границы разделов, пути к файлам кода и вопрос, на который должен отвечать результат. Размещайте значимые исключения и определения рядом с фрагментами, к которым они относятся. Если нужен большой отчёт, задайте его разделы и ожидаемые подтверждения для каждого из них.
Большое контекстное окно не гарантирует одинакового внимания к каждой детали и правильности каждого вывода. Google также отмечает возможное ухудшение качества по мере продолжения многоходового диалога; проверяйте важные факты из источников и повторно используемый контекст по ходу разговора. Сверяйте ответ с конкретными фрагментами или материалами, подтверждающими его важные утверждения.
Программирование и разработка алгоритмов
В число предполагаемых применений производитель включает продвинутое программирование и работу с алгоритмами. Предоставьте нужный исходный код, допущения об окружении, наблюдаемую ошибку и ожидаемое поведение. Для алгоритмической задачи определите вход, желаемый выход и условия: например, порядок, повторы или некорректные данные.
Полезное задание на отладку объединяет вызывающие сбой входные данные и сообщение об ошибке с минимальным относящимся к ним участком кода. Запросите диагноз и точечную правку, затем проверьте, устраняет ли предложенное изменение описанное поведение. Сгенерированный код и утверждение о его работоспособности отличаются от реализации, которую действительно запустили и проверили.
Для вопроса о большом репозитории используйте доступный объём входа, чтобы передать необходимые файлы с понятными метками путей. Укажите, нужен ли вам разбор, предлагаемый патч или анализ альтернатив: тогда результат будет иметь конкретное назначение.
Инструменты, источники и структурированные результаты
Спецификация производителя для этой предварительной версии предусматривает вызовы функций, выполнение кода, поиск по файлам, привязку ответа к результатам поиска и контекст из URL. У этих возможностей разные назначения. Вызов функции описывает операцию, которую должно выполнить приложение; результат инструмента затем предоставляет сведения для следующего шага модели. Выполнение кода — сценарий работы с инструментом, а не гарантия того, что произвольный сгенерированный код приложения уже протестирован.
Привязка ответа к результатам поиска и контекст из URL обеспечивают работу с источниками, а поиск по файлам — с подготовленной коллекцией файлов. Сохраняйте результаты инструментов и связи с источниками вместе с ответом, чтобы вывод можно было проверить. Согласно спецификации, эта версия не поддерживает управление компьютером и привязку к данным Maps.
Поддержка структурированного вывода позволяет выразить результат в заданной схеме. До генерации определите поля и их смысл, а затем проверяйте и содержимое, и формат. Корректный структурированный объект по-прежнему нуждается в проверке фактов и соответствия задаче.
Рассуждения, повторное использование и границы версий
Эта предварительная версия поддерживает режим рассуждений. Для многошаговой работы задавайте понятную задачу, относящиеся к ней свидетельства и явные ограничения. Результат должен объяснять допущения и полезный вывод; скрытые рассуждения или само наличие режима размышления не служат проверкой.
Производитель также указывает поддержку кэширования и пакетной обработки. Это возможности обработки, отличные от содержательных возможностей модели; их наличие не доказывает, что конкретный запрос попал в кэш или что результат пакета верен.
Разграничивайте Gemini 3 Pro Preview, Gemini 3.1 Pro Preview, Gemini 3 Pro Image, а также аудиоверсии и версии Live. Вывод этой предварительной версии — текст; её спецификация не предусматривает генерацию изображений, генерацию аудио или работу в режиме Live. Сверяйте полученный ответ, код или структурированный результат с предоставленными источниками и поставленной задачей.
Ailoot Ultra · Чат OpenAI POST /v1/chat/completions gemini-3-pro-preview
gemini-3-pro-previewНачало
Gemini 3 Pro Preview — мультимодальная модель Google для рассуждений, которая принимает текст, изображения, аудио, видео и PDF и возвращает текст. Большой объём входа, возможности программирования и поддерживаемые сценарии работы с инструментами подходят для подробного анализа, сравнения документов и выполнения задач на основе источников.
- Допустимые входные данные
- Текст
- Результаты
- Текст
Доступно в Ailoot · входные данные и методы
Ailoot Ultra · Чат OpenAI POST /v1/chat/completions
- Входные данные
text- Результат
text- Выходной формат
- json или SSE
| Поле | Тип | Требование | Значения и ограничения | По умолчанию |
|---|---|---|---|---|
Полеmodel | Типstring | ТребованиеОбязательно | Значения и ограничения gemini-3-pro-preview | По умолчанию— |
Полеmessages | Типmessage[] | ТребованиеОбязательно | Значения и ограничения Минимум элементов: 1 | По умолчанию— |
Полеmessages[].role | Типstring | ТребованиеОбязательно | Значения и ограничения Зависит от модели | По умолчанию— |
Полеmessages[].content | Типstring | ТребованиеНеобязательно | Значения и ограничения Применяется, когда: Текстовая беседа | По умолчанию— |
Полеstream | Типboolean | ТребованиеНеобязательно | Значения и ограничения | По умолчаниюfalse |
Сочетания входных материалов
Текст · Текст UTF8
messages[].content
Параметры и жизненный цикл метода
| Параметр | Контракт |
|---|---|
Параметрcontent_type | Контрактapplication/json |
Параметрrequired | Контрактmodel, messages |
Параметрmaterial_types | Контрактtext |
Параметрmessages | Контрактмассив сообщений со структурой role/content |
Параметрfile_material | Контрактфактический документ UTF-8 вставляется как буквальный текст; ID файла не выводится из него |
Параметрoptional_controls | Контрактstream |
Параметрcontrol_scope | КонтрактТекстовая беседа; stream — логическое значение, по умолчанию false. |
Параметрoutput_modalities | Контрактtext |
Параметрhosted_operations | Контрактfalse |
Параметрmultimodal_input_binding | Контрактnull |
Псевдонимы метода: /chat/completions
Жизненный цикл: synchronous_or_streamed
Отправляйте точный ID модели вместе с messages.
Длина контекста не является пределом выхода.
Текстовый файл может передавать буквальный текст; входные изображения, аудио и файловые объекты требуют точной привязки.
Тарифы
Тарифная справка не добавляет режимы запроса. Поддерживаемые параметры указаны для выбранного метода.
- Быстрый режим
- Не указано При выборе быстрого режима
- Режим flex
- Не указано При выборе режима flex
- Максимальная интенсивность рассуждений
- Не указано При максимальной интенсивности рассуждений с корректировкой по умолчанию (default)
- Цены явного кэширования
- Не включено Когда запрошено явное кэширование
Ставки Ailoot
Цены по конфигурациям
| Конфигурация | Шкала ставок | Плата |
|---|---|---|
| КонфигурацияБазовые ставки за токены | Шкала ставокБазовая ставка | Плата Вход · Входные токены $0.004 / 1K токенов Выход · Выходные токены $0.024 / 1K токенов Вход · Чтение кэша $0 / 1K токенов Вход · Запись в кэш $0 / 1K токенов Вход · Запись в кэш, 1 час — / 1K токенов |
Ailoot резервирует расчётную сумму перед запросом. После получения результата списывает итоговую плату по измеренному расходу. Для окончательного списания за потоковый ответ используется итоговая запись расхода. Как работают резервирование и расчёт →
Примеры запросов
Ailoot Ultra · Чат OpenAI
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model":"gemini-3-pro-preview","messages":[{"role":"user","content":"hello"}],"stream":false}')
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("choices",[]):
if x.get("message",{}).get("content"): print(x["message"]["content"])
PY_RESULT
from openai import OpenAI
import os
if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.chat.completions.create(model="gemini-3-pro-preview", messages=[{"role":"user","content":"hello"}], stream=False)
import base64, json
from pathlib import Path
def save_result(data, stem="result"):
# Keep every field, including usage, IDs, reasoning and tool requests.
Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
print(json.dumps(data, ensure_ascii=False, indent=2))
def save_blob(encoded, suffix, label):
raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
file = Path(stem + "-" + label + "." + ext)
file.write_bytes(raw)
print("Saved", file)
for index, block in enumerate(data.get("content") or []):
print("Content", index, json.dumps(block, ensure_ascii=False))
for choice in data.get("choices") or []:
print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
for index, item in enumerate(data.get("output") or []):
print("Output", index, json.dumps(item, ensure_ascii=False))
if item.get("type") == "image_generation_call" and item.get("result"):
save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
for ci, candidate in enumerate(data.get("candidates") or []):
for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
blob = part.get("inlineData") or part.get("inline_data")
if blob and blob.get("data"):
mime = blob.get("mimeType") or blob.get("mime_type")
suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))
save_result(result.to_dict(mode="json"))
Получить и сохранить результаты
Ailoot Ultra · Чат OpenAI
json или SSE
Сохраняйте все готовые результаты
Сохраняйте каждый полностью полученный ответ, файл и элемент содержимого.
Сохраняйте каждый вариант ответа с его содержимым, вызовами инструментов и рассуждениями. В SSE собирайте изменения по индексам варианта и инструмента, сохраняйте итоговую причину завершения и данные использования.
Если нужно проверить исходный ответ
Сохраняйте ID запросов и ответов, а также заголовки. Общий URL получения текстового задания не предоставлен.
Поля ответа
| Поле | Тип |
|---|---|
Полеchoices[].index | Типinteger |
Полеchoices[].message.content | Типstring|null |
Полеchoices[].message.tool_calls | Типtool_call[] |
Полеchoices[].message.reasoning_content | Типstring |
Полеchoices[].message.reasoning_details | Типobject|array |
Полеchoices[].finish_reason | Типstring|null |
Полеusage | Типobject |
Ошибки и дальнейшие шаги
| Ответ | Условие | Следующий шаг |
|---|---|---|
Ответ400 · invalid_request_error | УсловиеНеверные обязательные поля, представление материалов или значение параметра | Следующий шагИсправьте указанные поля перед новым запросом на создание. |
Псевдонимы
Псевдонимы моделей
Ailoot Ultra gemini-3-pro-preview
Псевдонимы путей метода
/chat/completions
Связанные ID для вызова
Ailoot Ultra · Сообщения Anthropic POST /v1/messages gemini-3-pro-preview
gemini-3-pro-previewНачало
Gemini 3 Pro Preview — мультимодальная модель Google для рассуждений, которая принимает текст, изображения, аудио, видео и PDF и возвращает текст. Большой объём входа, возможности программирования и поддерживаемые сценарии работы с инструментами подходят для подробного анализа, сравнения документов и выполнения задач на основе источников.
- Допустимые входные данные
- Текст
- Результаты
- json · sse
Доступно в Ailoot · входные данные и методы
Ailoot Ultra · Сообщения Anthropic POST /v1/messages
- Входные данные
text- Результат
json,sse- Выходной формат
- JSON или SSE
| Поле | Тип | Требование | Значения и ограничения | По умолчанию |
|---|---|---|---|---|
Полеmodel | Типstring | ТребованиеОбязательно | Значения и ограничения gemini-3-pro-preview | По умолчанию— |
Полеmessages | Типmessage[] | ТребованиеОбязательно | Значения и ограничения | По умолчанию— |
Полеmessages[].role | Типstring | ТребованиеОбязательно | Значения и ограничения user, assistant | По умолчанию— |
Полеmessages[].content | Типstring | ТребованиеОбязательно | Значения и ограничения | По умолчанию— |
Полеmax_tokens | Типinteger | ТребованиеОбязательно | Значения и ограничения | По умолчанию— |
Полеstream | Типboolean | ТребованиеНеобязательно | Значения и ограничения | По умолчаниюfalse |
Сочетания входных материалов
Текст · Текст UTF-8
строка messages[].content
Параметры и жизненный цикл метода
| Параметр | Контракт |
|---|---|
Параметрcontent_type | Контрактapplication/json |
Параметрrequired | Контрактmodel, messages, max_tokens |
Параметрoptional_controls | Контрактstream |
Параметрmaterial_types | Контрактtext |
Параметрtext_file_material | КонтрактПрочитайте фактический документ UTF-8 и поместите его текст в указанную строку входа или содержимого сообщения. |
Жизненный цикл: synchronous_or_streamed
Тарифы
Тарифная справка не добавляет режимы запроса. Поддерживаемые параметры указаны для выбранного метода.
- Быстрый режим
- Не указано При выборе быстрого режима
- Режим flex
- Не указано При выборе режима flex
- Максимальная интенсивность рассуждений
- Не указано При максимальной интенсивности рассуждений с корректировкой по умолчанию (default)
- Цены явного кэширования
- Не включено Когда запрошено явное кэширование
Ставки Ailoot
Цены по конфигурациям
| Конфигурация | Шкала ставок | Плата |
|---|---|---|
| КонфигурацияБазовые ставки за токены | Шкала ставокБазовая ставка | Плата Вход · Входные токены $0.004 / 1K токенов Выход · Выходные токены $0.024 / 1K токенов Вход · Чтение кэша $0 / 1K токенов Вход · Запись в кэш $0 / 1K токенов Вход · Запись в кэш, 1 час — / 1K токенов |
Ailoot резервирует расчётную сумму перед запросом. После получения результата списывает итоговую плату по измеренному расходу. Для окончательного списания за потоковый ответ используется итоговая запись расхода. Как работают резервирование и расчёт →
Примеры запросов
Ailoot Ultra · Сообщения Anthropic
{
"model": "gemini-3-pro-preview",
"max_tokens": 128,
"messages": [
{
"role": "user",
"content": "Summarize the incident report."
}
],
"stream": false
}set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json, os
from pathlib import Path
source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
raise SystemExit('Choose a document containing text')
payload = {'model': 'gemini-3-pro-preview', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
Path('request.json').write_text(json.dumps(payload, ensure_ascii=False), encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \
-H "x-api-key: $AILOOT_API_KEY" -H 'anthropic-version: 2023-06-01' -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
PY_RESULT
import json, os
from pathlib import Path
source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
raise SystemExit('Choose a document containing text')
payload = {'model': 'gemini-3-pro-preview', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
from urllib.request import Request, urlopen
from urllib.error import HTTPError
api_key = os.environ['AILOOT_API_KEY']
if not api_key.strip():
raise SystemExit('Set AILOOT_API_KEY before making a request')
headers = {'x-api-key': 'PLACEHOLDER_KEY', 'anthropic-version': '2023-06-01', 'Content-Type': 'application/json'}
headers['x-api-key'] = api_key
request = Request('https://api.ailoot.ai/v1/messages', data=json.dumps(payload, ensure_ascii=False).encode('utf-8'), headers=headers, method='POST')
try:
with urlopen(request, timeout=120) as response:
raw = response.read()
Path('response-headers.txt').write_text(str(response.headers), encoding='utf-8')
except HTTPError as error:
Path('result.json').write_bytes(error.read())
Path('response-headers.txt').write_text(str(error.headers), encoding='utf-8')
raise
Path('result.json').write_bytes(raw)
import json
from pathlib import Path
result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
Получить и сохранить результаты
Ailoot Ultra · Сообщения Anthropic
JSON или SSE
Сохраняйте все готовые результаты
Сохраняйте каждый полностью полученный ответ, файл и элемент содержимого.
Сохраняйте все блоки содержимого, подписи рассуждений и фактические ID обращений к инструментам. Собирайте все изменения блоков SSE; первый текстовый блок не является полным выходом.
Если нужно проверить исходный ответ
Сохраняйте ID запросов и ответов, а также заголовки. Общий URL получения текстового задания не предоставлен.
Поля ответа
| Поле | Тип |
|---|---|
Полеid | Типstring |
Полеmodel | Типstring |
Полеcontent[] | Типtext|thinking|tool_use|other content block |
Полеstop_reason | Типstring|null |
Полеusage | Типobject |
Ошибки и дальнейшие шаги
| Ответ | Условие | Следующий шаг |
|---|---|---|
Ответ400 · invalid_request_error | УсловиеНеверные обязательные поля, представление материалов или значение параметра | Следующий шагИсправьте указанные поля перед новым запросом на создание. |
Псевдонимы
Псевдонимы моделей
Ailoot Ultra gemini-3-pro-preview
Псевдонимы путей метода
/chat/completions
Связанные ID для вызова
FAQ · gemini-3-pro-preview
- Какие входные данные и результаты доступны?
POST /v1/chat/completions·gemini-3-pro-preview:text→textPOST /v1/messages·gemini-3-pro-preview:text→json,sse- Какие поля использует запрос?
POST /v1/chat/completions·gemini-3-pro-preview:model,messages,streamPOST /v1/messages·gemini-3-pro-preview:model,messages,max_tokens,stream- Какие ограничения действуют?
POST /v1/chat/completions·gemini-3-pro-preview:messages.min_items:1