> ## Documentation Index
> Fetch the complete documentation index at: https://bunnynet-cb9733c2-add-address-verification-note.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Trigger Smart actions

> Queues Smart Actions (title, description, chapters and/or moments generation) for a video that already has captions. This endpoint does not check the video library's Smart Actions setting — requests are accepted, processed and billed for transcription usage even when Smart Actions is disabled for the library. Requires at least one of GenerateTitle, GenerateDescription, GenerateChapters or GenerateMoments, and returns 429 once the library's Smart Actions usage threshold for the video is exceeded.



## OpenAPI

````yaml https://video.bunnycdn.com/openapi/bunnynet-video-api.public.json post /library/{libraryId}/videos/{videoId}/smart
openapi: 3.0.0
info:
  title: Stream API
  termsOfService: https://bunny.net/tos
  contact:
    name: bunny.net
    url: https://docs.bunny.net
    email: support@bunny.net
  version: 1.6.1
servers:
  - url: https://video.bunnycdn.com
security: []
tags:
  - name: Manage Collections
  - name: Manage Videos
paths:
  /library/{libraryId}/videos/{videoId}/smart:
    post:
      tags:
        - Manage Videos
      summary: Trigger Smart actions
      description: >-
        Queues Smart Actions (title, description, chapters and/or moments
        generation) for a video that already has captions. This endpoint does
        not check the video library's Smart Actions setting — requests are
        accepted, processed and billed for transcription usage even when Smart
        Actions is disabled for the library. Requires at least one of
        GenerateTitle, GenerateDescription, GenerateChapters or GenerateMoments,
        and returns 429 once the library's Smart Actions usage threshold for the
        video is exceeded.
      operationId: Video_SmartGenerate
      parameters:
        - name: libraryId
          in: path
          required: true
          description: The ID of the video library.
          schema:
            type: integer
            format: int64
          x-position: 1
        - name: videoId
          in: path
          required: true
          description: The GUID of the video.
          schema:
            type: string
          x-position: 2
      requestBody:
        x-name: model
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SmartGenerateModel'
        required: true
        x-position: 3
      responses:
        '202':
          description: The smart action was queued
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StatusModel'
        '400':
          description: Invalid request for smart feature
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StatusModel'
        '401':
          description: The request authentication failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StatusModel'
        '403':
          description: The request authorization failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StatusModel'
        '404':
          description: The requested video was not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StatusModel'
        '429':
          description: Limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StatusModel'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StatusModel'
      security:
        - AccessKey: []
components:
  schemas:
    SmartGenerateModel:
      type: object
      additionalProperties: false
      properties:
        generateTitle:
          type: boolean
          description: Whether video title should be generated.
          nullable: true
        generateDescription:
          type: boolean
          description: Whether video description should be generated.
          nullable: true
        generateChapters:
          type: boolean
          description: Whether video chapters should be generated.
          nullable: true
        generateMoments:
          type: boolean
          description: Whether video moments should be generated.
          nullable: true
        sourceLanguage:
          type: string
          description: (Optional) Video source language, use ISO 639-1 language code.
          nullable: true
    StatusModel:
      type: object
      additionalProperties: false
      properties:
        success:
          type: boolean
          description: Determines if the request was successful
        message:
          type: string
          description: >-
            Human-readable message describing the result, typically populated
            with error details when Success is false.
          nullable: true
        statusCode:
          type: integer
          description: The HTTP status code corresponding to the result of the request.
          format: int32
  securitySchemes:
    AccessKey:
      type: apiKey
      description: AccessKey based authentication
      name: AccessKey
      in: header

````