Source: https://ailoot.ai/models/ru/scaledown-extract/
Canonical: https://ailoot.ai/models/ru/scaledown-extract/
Language: ru

# ScaleDown: Extract

[Markdown](https://ailoot.ai/models/ru/scaledown-extract/index.md) · [JSON](https://ailoot.ai/models/ru/scaledown-extract/facts.json)

## [ScaleDown: Extract](https://ailoot.ai/models/ru/scaledown-extract/)

Extract находит описанные вызывающей стороной сущности в тексте, изображениях и файлах документов. Задайте поля на простом английском и сохраняйте совпавшие фрагменты, оценки уверенности, смещения в символах и окружающий контекст. Встроенный OCR поддерживает сканы и PDF; опубликован контекст 1 000 000 токенов для работы с документами.

- [**Ailoot Ultra · Чат OpenAI** `POST /v1/chat/completions` `scaledown/extract`](https://ailoot.ai/models/ru/scaledown-extract/#method-0)
- [**Ailoot Ultra · Сообщения Anthropic** `POST /v1/messages` `scaledown/extract`](https://ailoot.ai/models/ru/scaledown-extract/#method-1)

О модели

Описание раскрывает возможности модели. Доступные в Ailoot входные данные, результаты и параметры выбранного метода перечислены ниже.

Extract — модель ScaleDown для извлечения сущностей по описанию. Вместо выбора из одного фиксированного набора типов сущностей вызывающая сторона описывает искомую информацию на простом английском языке. Модель возвращает совпавшие фрагменты с уверенностью, смещениями в символах и окружающим контекстом, облегчая связь результата с исходным материалом.

#### Опишите нужные поля

Назовите каждую запрашиваемую сущность исходя из конкретной бизнес-цели. Процесс обработки счетов может искать идентификаторы документов, даты и суммы в исходном написании. Процесс обработки договоров — названные стороны, сроки или указанные обязательства. Процесс работы с электронной почтой — контактные данные или запрошенное действие.

Опишите смысл поля, не полагаясь лишь на его короткое название. Различайте дату выставления и срок оплаты или имя человека и название организации. Если несколько полей имеют похожие формулировки, дайте каждому определение, помогающее разделять возвращённые совпадения.

#### Сохраняйте совпадение и его подтверждение

Полезный результат извлечения сохраняет исходный фрагмент вместе со смещениями и окружающим текстом. Эти значения позволяют приложению определить происхождение совпадения, а проверяющему — изучить подтверждение без повторного поиска по всему документу. Сохраняйте значение уверенности вместе с совпадением, не считая каждый возвращённый фрагмент одинаково достоверным.

Если процессу нужны нормализованная дата, преобразованная сумма или другое производное значение, сохраняйте исходный текст рядом с последующим преобразованием. Извлечение сущностей определяет, что сказано в документе; приложение решает, какие правила нормализации и проверки применять к возвращённым сведениям.

#### Сканы, документы и длинный ввод

Опубликованные типы ввода модели включают текст, изображения и файлы, например PDF, со встроенным OCR для сканированных документов. Используйте читаемые исходные материалы и сохраняйте идентичность документов и страниц там, где это важно для проверки. Плохой скан может сделать поле неоднозначным, поэтому проверяйте возвращённый контекст перед принятием важного значения.

Опубликованное контекстное окно составляет 1 000 000 токенов. Для большого документа или набора сохраняйте определения запрошенных сущностей согласованными и связывайте каждый результат с материалом, из которого он получен. Один набор определений может помочь приложению сравнивать извлечённые поля договоров, счетов, сообщений или расшифровок.

#### Текстовая выдача и последующая проверка

Опубликованная модальность вывода — текст. Используйте окружающий процесс извлечения для проверки нужного ему формата машиночитаемой записи. Сохраняйте совпавший текст и исходный контекст перед хранением или преобразованием результата.

Полезный итоговый материал содержит имя запрошенной сущности, совпавший исходный текст, соответствующую позицию или контекст и уверенность для проверки. Оставляйте неразрешённые или конкурирующие совпадения видимыми, не придумывая недостающее поле. Так получается запись извлечения с опорой на сведения для последующих проверок и преобразований.

#### Возможности

- Типы сущностей, описанные на простом английском языке.
- Совпавшие фрагменты с уверенностью, смещениями в символах и окружающим контекстом.
- Встроенный OCR для сканированных изображений и PDF.
- Текст, изображения и файлы на входе с опубликованным контекстом 1 000 000 токенов.
- Текстовые результаты для извлечения полей с опорой на исходные сведения.

#### Сценарии использования

- **Извлечение полей счетов** — Счета и определения идентификаторов, дат или сумм, которые нужно найти. Результат: Найденные исходные поля с сохранёнными подтверждениями.
- **Подготовка к проверке договоров** — Договоры и точные определения сторон, дат или обязательств. Результат: Извлечённые фрагменты для последующей юридической или операционной проверки.
- **Приём электронных писем** — Сообщения и сущности, требуемые процессу. Результат: Записи контактов или запросов с привязкой к исходным сведениям.
- **Извлечение данных из сканированных документов** — Читаемые сканы/PDF и неизменные определения сущностей. Результат: Совпадения с исходным контекстом и уверенностью для проверки.

#### Ограничения

- **Контекст** — Опубликованное контекстное окно: 1 000 000 токенов.
- **Подтверждение результата** — Сохраняйте фрагменты, смещения и окружающий контекст перед применением последующих нормализаций.
- **Условия вывода** — Опубликованный вывод — текст; для этой модели не указаны JSON с обеспечением соответствия схеме и вызовы функций.
- **Определения полей** — Выбор сущностей определяется переданными описаниями, а не одной фиксированной таксономией.

**Ailoot Ultra · Чат OpenAI** `POST /v1/chat/completions` `scaledown/extract`

[`scaledown/extract`](https://ailoot.ai/models/ru/#m=scaledown%2Fextract&route=Ultra&caller=scaledown%2Fextract&fmt=chat)

ScaleDown /`scaledown/extract`

### Начало

Extract находит описанные вызывающей стороной сущности в тексте, изображениях и файлах документов. Задайте поля на простом английском и сохраняйте совпавшие фрагменты, оценки уверенности, смещения в символах и окружающий контекст. Встроенный OCR поддерживает сканы и PDF; опубликован контекст 1 000 000 токенов для работы с документами.

Допустимые входные данные

Текст

Результаты

Текст

### Доступно в Ailoot · входные данные и методы

**Ailoot Ultra · Чат OpenAI** `POST /v1/chat/completions`

Входные данные

`text`

Результат

`text`

Выходной формат

json или SSE

| Поле | Тип | Требование | Значения и ограничения | По умолчанию |
| --- | --- | --- | --- | --- |
| Поле`model` | Тип`string` | ТребованиеОбязательно | Значения и ограничения scaledown/extract | По умолчанию— |
| Поле`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.0001** / 1K токенов Выход · Выходные токены **$0** / 1K токенов Вход · Чтение кэша **—** / 1K токенов Вход · Запись в кэш **—** / 1K токенов Вход · Запись в кэш, 1 час **—** / 1K токенов |
| КонфигурацияУровень 1 по длине запроса | Шкала ставок— | Токенов контекста больше0 | Токенов контекста не более, включительноБез верхней границы | Плата Вход · Входные токены **$0.0001** / 1K токенов Выход · Выходные токены **$0** / 1K токенов Вход · Чтение кэша **—** / 1K токенов Вход · Запись в кэш **—** / 1K токенов Вход · Запись в кэш, 1 час **—** / 1K токенов |

Ailoot резервирует расчётную сумму перед запросом. После получения результата списывает итоговую плату по измеренному расходу. Для окончательного списания за потоковый ответ используется итоговая запись расхода. [Как работают резервирование и расчёт →](https://ailoot.ai/docs/ru/billing/reserve/)

### Примеры запросов

#### Ailoot Ultra · Чат OpenAI

curlPython SDK

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model":"scaledown/extract","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
```

```python
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="scaledown/extract", 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** [`scaledown/extract`](https://ailoot.ai/models/ru/#m=scaledown%2Fextract&route=Ultra&caller=scaledown%2Fextract&fmt=chat)

#### Псевдонимы путей метода

`/chat/completions`

#### Связанные ID для вызова

[`scaledown/extract`](https://ailoot.ai/models/ru/#m=scaledown%2Fextract&route=Ultra&caller=scaledown%2Fextract&fmt=chat)

**Ailoot Ultra · Сообщения Anthropic** `POST /v1/messages` `scaledown/extract`

[`scaledown/extract`](https://ailoot.ai/models/ru/#m=scaledown%2Fextract&route=Ultra&caller=scaledown%2Fextract&fmt=messages)

ScaleDown /`scaledown/extract`

### Начало

Extract находит описанные вызывающей стороной сущности в тексте, изображениях и файлах документов. Задайте поля на простом английском и сохраняйте совпавшие фрагменты, оценки уверенности, смещения в символах и окружающий контекст. Встроенный OCR поддерживает сканы и PDF; опубликован контекст 1 000 000 токенов для работы с документами.

Допустимые входные данные

Текст

Результаты

json · sse

### Доступно в Ailoot · входные данные и методы

**Ailoot Ultra · Сообщения Anthropic** `POST /v1/messages`

Входные данные

`text`

Результат

`json`, `sse`

Выходной формат

JSON или SSE

| Поле | Тип | Требование | Значения и ограничения | По умолчанию |
| --- | --- | --- | --- | --- |
| Поле`model` | Тип`string` | ТребованиеОбязательно | Значения и ограничения scaledown/extract | По умолчанию— |
| Поле`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.0001** / 1K токенов Выход · Выходные токены **$0** / 1K токенов Вход · Чтение кэша **—** / 1K токенов Вход · Запись в кэш **—** / 1K токенов Вход · Запись в кэш, 1 час **—** / 1K токенов |
| КонфигурацияУровень 1 по длине запроса | Шкала ставок— | Токенов контекста больше0 | Токенов контекста не более, включительноБез верхней границы | Плата Вход · Входные токены **$0.0001** / 1K токенов Выход · Выходные токены **$0** / 1K токенов Вход · Чтение кэша **—** / 1K токенов Вход · Запись в кэш **—** / 1K токенов Вход · Запись в кэш, 1 час **—** / 1K токенов |

Ailoot резервирует расчётную сумму перед запросом. После получения результата списывает итоговую плату по измеренному расходу. Для окончательного списания за потоковый ответ используется итоговая запись расхода. [Как работают резервирование и расчёт →](https://ailoot.ai/docs/ru/billing/reserve/)

### Примеры запросов

#### Ailoot Ultra · Сообщения Anthropic

Полное минимальное тело запроса в формате JSONcurl · используйте свой документ UTF-8Python · сохраните полный результат

```json
{
  "model": "scaledown/extract",
  "max_tokens": 128,
  "messages": [
    {
      "role": "user",
      "content": "Summarize the incident report."
    }
  ],
  "stream": false
}
```

```bash
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': 'scaledown/extract', '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
```

```python
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': 'scaledown/extract', '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** [`scaledown/extract`](https://ailoot.ai/models/ru/#m=scaledown%2Fextract&route=Ultra&caller=scaledown%2Fextract&fmt=messages)

#### Псевдонимы путей метода

`/chat/completions`

#### Связанные ID для вызова

[`scaledown/extract`](https://ailoot.ai/models/ru/#m=scaledown%2Fextract&route=Ultra&caller=scaledown%2Fextract&fmt=messages)

FAQ · ScaleDown: Extract

Какие входные данные и результаты доступны?

`POST /v1/chat/completions` · `scaledown/extract`: `text` → `text` `POST /v1/messages` · `scaledown/extract`: `text` → `json`, `sse`

Какие поля использует запрос?

`POST /v1/chat/completions` · `scaledown/extract`: `model`, `messages`, `stream` `POST /v1/messages` · `scaledown/extract`: `model`, `messages`, `max_tokens`, `stream`

Какие ограничения действуют?

`POST /v1/chat/completions` · `scaledown/extract`: `messages.min_items`: `1`

Подключите Ailoot к Claude Code, OpenCode, Hermes или своему приложению.

## Компания и портфель её проектов

Компания и портфель её проектов: миллионы клиентов; продажи на миллиарды ежемесячно.

## Покупайте токены со скидкой.

Скидка по подписке для регулярной работы. Промокоды — до 50% на покупку токенов.

Подписка

Выберите тариф со скидкой для своих регулярных запросов.

Промокод до 50%

Введите код при покупке. Цена пересчитается с учётом действующей акции.

Расходы в истории

Модель, токены и сумма сохраняются для каждого запроса.

[Выбрать подписку](https://ailoot.ai/docs/ru/billing/subscriptions/) · [Посмотреть цены моделей](https://ailoot.ai/models/ru/)

## Подключайте API к продукту, который вы продаёте.

SaaS, приложения и боты — по оферте и лицензионному договору Ailoot. Для перепродажи запросите реселлерскую лицензию.

Коммерческое приложение

Встраивайте генерацию текста, картинок, видео и звука в платные функции своего сервиса.

Лицензия для реселлера

Пришлите описание проекта и схему доступа. Запросите письменные условия использования и перепродажи.

Документы на сайте

Оферта, лицензионный договор и политика обработки данных доступны до подключения.

[Запросить реселлерскую лицензию](mailto:support@ailoot.ai) · [Оферта и лицензионный договор](https://ailoot.ai/legal/offer?lang=ru)

## Ailoot · Компания и портфель её проектов





Ailoot опирается на накопленный опыт работы, большую клиентскую базу, стабильный сервис и постоянный контроль KPI.





Компания и портфель её проектов: миллионы клиентов; продажи на миллиарды ежемесячно.





Этот опыт Ailoot использует для API-доступа к нейросетям в продуктах клиентов, агентах, приложениях и автоматизациях.
