# General Translation Platform: Сгенерировать контекст URL: https://generaltranslation.com/ru/docs/platform/openapi/reference/context/generate-context.mdx --- title: Сгенерировать контекст description: Сгенерируйте термины Glossary и инструкции по переводу для Project в General Translation из исходных файлов. Справочник API для генерации контекста перевода. method: POST --- Ставит в очередь фоновую задачу, которая генерирует контекст перевода на уровне Project — термины Glossary и инструкции по переводу — из исходных файлов, на которые вы ссылаетесь. При необходимости также можно сгенерировать отдельные глоссарии для целевых локалей. ## Обзор [#overview] ```http POST https://api2.gtx.dev/v2/project/setup/generate ``` **Разрешение** `project:context:write` · **Лимит запросов** Средний (120/мин) Создайте контекст, который будет определять будущие переводы. Чтобы отслеживать статус созданной задачи, используйте [Получить статус генерации контекста](/docs/platform/openapi/reference/context/context-status) или [Получить статус задачи перевода](/docs/platform/openapi/reference/translation/job-status). ## Как это работает [#how-it-works] * Целевые локали, относящиеся к тому же диалекту, что и локаль Project по умолчанию, игнорируются. * Если `force` не равно `true`, генерация пропускается, если у Project уже есть контекст и ни для одной из запрошенных целевых локалей не требуется Glossary. В этом случае ответ будет `{ "status": "completed" }`, и никакая задача не ставится в очередь. * В противном случае задача генерации контекста ставится в очередь, а её ID возвращается со `status: "queued"`. Если указаны целевые локали, текущие locales Project также обновляются. ## Запрос [#request] ### Заголовки | Заголовок | Описание | Обязательно | | ----------------- | ----------------------------------------------------------- | ----------- | | `x-gt-api-key` | API-ключ Project или организации. | Да | | `x-gt-project-id` | ID Project. Обязателен при использовании ключа организации. | Нет | ### Тело **Тип содержимого** `application/json` | Поле | Описание | Тип | Необязательно | По умолчанию | | ----------------- | ------------------------------------------------------------------------------ | ---------- | ------------- | ------------ | | [`files`](#files) | Исходные файлы, на основе которых генерируется контекст; не может быть пустым. | `object[]` | Нет | — | | `locales` | Целевые локали, для которых нужно сгенерировать отдельные глоссарии. | `string[]` | Да | — | | `force` | Повторно сгенерировать контекст, даже если он уже существует. | `boolean` | Да | `false` | #### `files` [#files] **Тип** `object[]` · **Обязательно** Каждый элемент указывает на один исходный файл: | Поле | Описание | Тип | Необязательно | По умолчанию | | ----------- | ----------------------------------------------------- | -------- | ------------- | ------------ | | `fileId` | Стабильный идентификатор файла; не может быть пустым. | `string` | Нет | — | | `versionId` | Идентификатор версии; не может быть пустым. | `string` | Нет | — | | `branchId` | Ветка, к которой относится файл. | `string` | Да | — | ## Ответ [#response] **Статус** `200 OK` ```json title="Response" { "setupJobId": "job_...", "status": "queued" } ``` Если генерация не требуется, ответ будет таким: ```json title="Response" { "status": "completed" } ``` ## Ошибки [#errors] | Статус | Причина | | ------ | ------------------------------------------------------------------------- | | `400` | Недопустимое тело запроса, пустой массив `files` или недопустимая локаль. | | `401` | Отсутствует или недействителен API-ключ. | | `403` | У API-ключа нет `project:context:write`. | | `429` | Превышен лимит запросов. | ## Пример [#example] ```bash curl -X POST https://api2.gtx.dev/v2/project/setup/generate \ -H "x-gt-api-key: gtx-api-..." \ -H "Content-Type: application/json" \ -d '{ "files": [ { "fileId": "file_...", "versionId": "ver_..." } ], "locales": ["es", "fr"] }' ```