Introduction
Brightcove Metadata Optimizer
The Brightcove AI Metadata Optimizer automatically generates video metadata using text tracks, audio, and visual analysis. This helps ensure your content is discoverable, consistent, and aligned with your publishing standards.
You can access the Metadata Optimizer through three main entry points in the Video Cloud UI:
- During video upload
- In the Video Details page
- Via bulk selection in the Media module
Setting up the Metadata Optimizer
Enabling the Advanced Optimizer
By default, the standard optimizer uses text tracks to suggest metadata. The Advanced Optimizer analyzes both audio and visuals to generate richer metadata.
To enable the Advanced Optimizer by default:
- In the Admin module, select Video Fields → Metadata Generation.
- Select Enable Advanced Metadata Optimizer (with visual analysis).
- Click
Additional configurations on this page:
Setting the Default Metadata Language
Metadata is generated in English by default, but this can be changed in the Admin module.
Metadata Generated at Upload or Bulk Selection
Choose whether the optimizer generates all metadata fields (title, description, tags) or only selected ones.
You can also enable a review step to verify metadata before publishing. This becomes the default behavior for:
- All ingested videos
- All bulk metadata optimizer calls
Default behavior for metadata generation
Control whether metadata generation is enabled by default for new uploads. This sets the default state on the Upload page; you can still override it per upload.
- On by default: Metadata will be generated automatically whenever you upload content unless you disable it on the Upload page.
- Off by default: Metadata will not be generated unless you manually enable it on the Upload page.
Configuring Tag Architecture
Define custom tag rules to align metadata with your organization's taxonomy.
For each rule, specify a tag and describe the condition under which it should apply.
Defining Metadata Style
Set character limits for each metadata field (e.g., title, short description, tags, long description).
Optionally, provide reference sample videos in Video Cloud that reflect your preferred metadata style. The optimizer will use these samples to match formatting and tone.
Using the Metadata Optimizer
During Ingestion (Upload Module)
- Navigate to the Upload module and select Generate Metadata.
- (Optional) Select Review metadata before publishing if you want to approve suggestions first.
- Complete the upload. Metadata will be generated automatically.
If review is enabled:
- A yellow attention icon appears in your Media module (Status column) when metadata has been generated but requires review.
- View the video's detail page in the Media module, accept or request additional suggestions, then approve metadata for publication.
From the Video Details Page
- Navigate to the Media module and select a video.
- Ensure the video has text tracks. If not, you'll be prompted to generate auto captions or upload a text track.
- In the Overview tab, click Generate Metadata.
- Choose and edit metadata:
- Select your preferred option(s).
- Edit manually if needed.
- Click
Multi-Language Metadata
If multi-language metadata is enabled, you can set metadata in two ways:
Generate once, then translate
- Generate metadata in your main language.
- Save either for that single language or apply translations across all enabled languages.
Generate per language
- Change the Language View in Video Details.
- Click Generate Metadata and repeat the process for each language.
Bulk Metadata Generation
- In the Media module, select your videos.
- Click … → Generate Metadata.
- Choose whether to review before publishing or skip review.
If review is enabled:
- A yellow attention icon appears in your Media module (Status column) when metadata has been generated but requires review.
- View each video's detail page in the Media module. Accept or request additional suggestions.
API Access
Create/Fetch/Delete AI metadata enhancement job
Endpoint (requires scope video-cloud/video/read
):
POST | GET | DELETE https://ingest.api.brightcove.com/v1/accounts/{account_id}/video/{video_id}/ai/metadata-enhancement/{language}
POST payload fields
fields_to_generate
: optional list of strings. Supported:names
,long_descriptions
,short_descriptions
,tags
. If empty/omitted, all four are generated.skip_review
: optional boolean. If true, the first generated suggestion is automatically saved, possibly overwriting previous values. Suggested tags are added to existing tags. With multi-language enabled, skipping review always writes to the primary language view.use_tag_architecture
: optional boolean. If true, user-defined custom tag rules are enforced (see/v1/accounts/{account_id}/ai/metadata-enhancement/tags
).references
: optional list of video IDs to use as inspiration for style.character_limits
: optional mapping fromnames
|long_descriptions
|short_descriptions
|tags
to number (max length).translation_request
: optional object (for multi-language customers) defining what to translate in non-primary language views.languages
: list of strings (e.g.,["es-ES", "fr-FR"]
)name
: stringshort_description
: stringlong_description
: string
translation_request
is provided, all other fields are ignored. Generating both the primary language metadata and the secondary language translations in the same request is not supported.
GET response fields
account_id
: stringcreated_at
: string (e.g.,2025-09-18
)job_id
: stringlanguage
: stringstatus
: string (processing
|finished
|failed
)video_id
: stringnames
: list of strings (only when status isfinished
)short_descriptions
: list of strings (only when status isfinished
)long_descriptions
: list of strings (only when status isfinished
)tags
: list of one list of strings, e.g.,[["tag1", "tag2", …]]
(only when status isfinished
)skip_review
: boolean (echoes submitted value)
Get list of all AI metadata enhancement jobs
GET https://ingest.api.brightcove.com/v1/accounts/{account_id}/ai/metadata-enhancement/jobs
Scope: video-cloud/video/read
Response: list of job objects (same shape as the single-job GET)
Get/Update AI metadata enhancement tag rules
GET | PUT https://ingest.api.brightcove.com/v1/accounts/{account_id}/ai/metadata-enhancement/tags
Scopes, request, and response formats match the Autocaption Dictionary endpoint: /accounts/{account_id}/autocaption-dictionary
Request AI metadata enhancement at ingestion
In the ingestion API, new fields were added to the existing request:
POST /v1/accounts/{account_id}/videos/{video_id}/ingest-requests
{
"transcriptions": [
{
"autodetect": true,
"kind": "captions",
"metadata_optimizer": {
// All valid fields from POST /ai/metadata-enhancement/{language} except translation_request
"language": "en-US"
}
}
]
}
FAQs
- What are the limitations of this feature?
Standard optimizer uses text tracks only; The Advanced Optimizer also analyzes visuals. If a video lacks captions, you can auto-generate them (may require retranscoding). - Which languages are supported?
The Metadata Optimizer supports over 40 languages, including English (US, UK, AU, etc.), Spanish (Spain, US), French (FR, CA), German, Italian, Japanese, Korean, Chinese (Simplified & Traditional), and many more. - Can I prevent automatic publishing of metadata?
Yes. By enabling the review option, metadata will require approval before being applied. - Can I use the Universal Translator to generate text tracks for the Metadata Optimizer?
Yes. The Metadata Optimizer works with Brightcove Universal Translator, Brightcove Autocaptions, and third-party caption tools (standard formats). - Does it support third-party captions?
Yes, captions from outside Brightcove are supported.