Skip to main content
У каждого проекта есть активные настройки — trim, background, стиль субтитров, макет — которые определяют, как рендерятся экспорты. Используйте настройки проекта, когда вам нужны локальные для проекта переопределения, которые не стоит упаковывать в общий пресет. См. Справочник по настройкам рендера для карты полей preset, settings.style и settingsOverride, которые являются общими.

client.projects.getSettings(projectId, options?)

Получить активные настройки проекта.
const config = await client.projects.getSettings("prj_abc123");
console.log(
  config.settings.trim,
  config.settings.style?.background,
  config.settings.displayLanguages,
);

client.projects.updateSettings(projectId, body, options?)

Частично обновить активные настройки проекта. Можно применить пресет, передать сырые настройки или и то и другое (сначала применяется пресет, затем поверх него мёрджатся переопределения настроек).
const updated = await client.projects.updateSettings("prj_abc123", {
  presetId: "preset_abc123",
  settings: {
    trim: { startSeconds: 5, endSeconds: 180 },
  },
});

Поля

presetId
string
Применить переиспользуемый пресет. Не указывайте, чтобы оставить текущий пресет без изменений.
settings
object
Патч, применяемый поверх пресета. Используйте style для переопределений в формате пресета, а также локальные для проекта поля, такие как displayLanguages, chordSettings и duetSingerFilter.

Определение допустимых полей

Преобразуйте схему обновления в JSON Schema во время выполнения, чтобы узнать все допустимые поля:
import { RestUpdateProjectSettingsRequestSchema } from "@youka/sdk";

const schema = RestUpdateProjectSettingsRequestSchema.toJSONSchema();
console.log(JSON.stringify(schema, null, 2));
Агентам следует вызывать это перед изменением настроек проекта, чтобы всегда знать актуальную структуру.

Типовые паттерны

await client.projects.updateSettings("prj_abc123", {
  settings: {
    trim: { startSeconds: 5.0, endSeconds: 180.0 },
  },
});

Настройки проекта vs пресеты

ВопросИспользуйте
Одинаковый вид для многих проектов?Presets
Разовая правка обрезки или цвета в одном проекте?Настройки проекта
Базовый вид + небольшие проектные переопределения?Preset + настройки проекта

Что дальше