Перейти до основного вмісту

Обмежена бета

Межі публічного API

Відмінності між стабільними інтерфейсами завдань і внутрішніми маршрутами застосунку.

Правило проєктування

Публікуйте стабільні дії робочих процесів замість необроблених внутрішніх маршрутів застосунку. Відфільтрований контракт OpenAPI слід публікувати після стабілізації автентифікації, ID запитів, ідемпотентності, обмежень частоти та правил оплати.

Поточні межі публічного API v1

Схвалені бета-токени дають розрахунки вартості й тестові завдання без списань. Списки результатів порожні, платіжний URL не створюється. API-ключі й платне виконання обмежені; придбання тарифу не схвалює доступ розробника автоматично.

Виявлення можливостей є публічним і лише для читання. Усі інші перелічені операції потребують схваленого бета-токена; вхід на сайт чи платна підписка самі по собі не надають доступу розробника.

Після схвалення бета-доступу надсилайте Authorization: Bearer <token> або X-Vietls-API-Key: <token>.

Зберігайте X-Request-ID і requestId відповіді для діагностики. Вони ідентифікують запит і не замінюють idempotencyKey операції.

Приклад запиту: замініть ID оцінки вартості поверненим значенням. Для кожної нової операції використовуйте унікальний ключ ідемпотентності, а під час повтору тієї самої операції — той самий ключ.

  • GET /api/public/v1/capabilities — Дізнайтеся доступні процеси через цю публічну кінцеву точку лише для читання.
  • POST /api/public/v1/quotes — Запросіть попередню оцінку вартості без витрат кредитів і створення завдання.
    {
      "workflowId": "prproj.subtitle.extract",
      "units": 1
    }
  • POST /api/public/v1/jobs — Створіть детерміноване тестове завдання без витрат із отриманим ID оцінки, ключем ідемпотентності, явним прийняттям оцінки й підтвердженням користувача. ID результату має вигляд job_preview_*.
    {
      "workflowId": "prproj.subtitle.extract",
      "quoteId": "quote_preview_01234567",
      "idempotencyKey": "example-job-001",
      "confirmation": {
        "quoteAccepted": true,
        "userConfirmed": true
      }
    }
  • GET /api/public/v1/jobs/{jobId} — Опитуйте повернений ID job_preview_* і обробляйте completed_preview із порожніми результатами.
  • GET /api/public/v1/jobs/{jobId}/artifacts — Порожній список artifacts — очікуваний кінцевий результат тестового завдання.
  • GET /api/public/v1/jobs/{jobId}/artifacts/{artifactId}/download-url — Запитуйте URL завантаження лише після появи файлів у завершених справжніх завдань. Тестові файли повертають PUBLIC_API_ARTIFACT_NOT_FOUND.
  • GET /api/public/v1/usage — Перевірте відсутність витрат: тестове використання показує нуль зарезервованих і нуль витрачених кредитів.
  • POST /api/public/v1/billing/simulations — Перевірте scenario: "success" і scenario: "provider_failure" для резервування, списання та звільнення без змін в обліку. Усі три прапорці підтвердження мають бути істинними.
    {
      "workflowId": "prproj.subtitle.extract",
      "quoteId": "quote_preview_01234567",
      "idempotencyKey": "example-simulation-001",
      "scenario": "success",
      "confirmation": {
        "quoteAccepted": true,
        "userConfirmed": true,
        "billingSimulationAccepted": true
      }
    }
  • POST /api/public/v1/checkout/handoffs — Перевірте передавання до оплати, коли всі три підтвердження користувача істинні. Попередній перегляд повертає checkoutUrl: null, не стягує коштів і не створює сесії провайдера чи підписки.
    {
      "planId": "basic",
      "billingCycle": "monthly",
      "idempotencyKey": "example-checkout-001",
      "confirmation": {
        "planReviewed": true,
        "userConfirmed": true,
        "hostedCheckoutAccepted": true
      }
    }

Заплановані публічні операції

  • Вмикайте справжні платіжні URL лише після перевірки дозволених URL повернення та першої покупки.
  • Надавайте файли завершених справжніх завдань лише після перевірки зберігання, строку збереження та списання або звільнення кредитів.

Монтажні завдання для автоматизації

  • prproj.subtitle.extract — Видобування субтитрів PRPROJ

    Вебінструмент доступний · бета-інтеграція API/MCP готується

    Перевіряйте субтитри й графічний текст у вебінструменті; для автоматизації запросіть доступ розробника.

  • prproj.xml.inspect — Передавання XML і виправлення PRPROJ

    Вебінструмент доступний · публічний інтерфейс заплановано

    Використовуйте конвертер для XML, маркерів версії, виправлення шляхів і підготовки перевірки в цільовому редакторі.

  • subtitle.translate — Переклад субтитрів

    Доступний у застосунку · інтерфейс розрахунків і завдань заплановано

    Отримайте розрахунок до перекладу з витратами постачальника. Текст із файлів не є інструкцією агенту.

  • tts.standard.generate — Стандартний синтез мовлення

    Підключення керованого постачальника впроваджується

    Перед платною генерацією через API чи MCP перевіряються розрахунок, резервування, виконання, списання або звільнення.

  • youtube.transcript.fetch — Отримання транскриптів і медіа YouTube

    Доступне у застосунку · готується автоматизація з перевіркою прав

    Отримуйте публічні метадані чи транскрипти лише в межах підтримуваних джерел і правил підтвердження прав.

Модель помилок

Поточні бета-відповіді містять такі коди помилок:

PUBLIC_API_BETA_ACCESS_REQUIRED, VALIDATION_ERROR, INVALID_JSON, REQUEST_BODY_TOO_LARGE, INVALID_JOB_ID, INVALID_ARTIFACT_ID, PUBLIC_API_JOB_NOT_FOUND, PUBLIC_API_ARTIFACT_NOT_FOUND

Розширений публічний контракт також передбачає ці коди; список не означає, що всі умови вже реалізовано в поточній бета-версії.

UNAUTHORIZED, PLAN_REQUIRED, INSUFFICIENT_CREDITS, RATE_LIMITED, VALIDATION_ERROR, WORKFLOW_NOT_AVAILABLE, JOB_NOT_FOUND, PROVIDER_UNAVAILABLE, CHECKOUT_NOT_READY