Skip to Content
Create a 'summarize' job
post

Creates a new job that uses AI to generate a title, description, and tags for a Mux Video asset. Optional output steering can restrict execution to a time scope in seconds and guide summary style, audience, brand terms, and tag taxonomy without changing the response schema.

Request body params
passthrough
string

Arbitrary string stored with the job and returned in responses. Useful for correlating jobs with your own systems.

parameters.asset_id
string

The Mux asset ID of the video to summarize.

parameters.tone
string
Possible values: "neutral""playful""professional"

Tone for the generated summary. "neutral" for straightforward analysis, "playful" for witty and conversational, "professional" for executive-level reporting.

Curated output_steering controls for execution scope, summary style, audience, brand terminology, and tag taxonomy. Scope is enforced; other controls guide model behavior but do not guarantee exact output.

parameters.output_steering.scope

Controlled vocabulary for tag generation. This steers tags and may be deterministically filtered after generation. Supports up to 50 values and 2000 serialized characters.

parameters.output_steering.tag_taxonomy.name
string

Optional customer-facing name for the taxonomy, up to 100 characters.

Controlled vocabulary values for generated tags. Supports 1-50 values.

parameters.output_steering.tag_taxonomy.values[].label
string

Canonical tag value to prefer in generated tags, up to 100 characters.

parameters.output_steering.tag_taxonomy.values[].description
string

Short explanation of when this tag applies, up to 300 characters.

parameters.output_steering.tag_taxonomy.values[].aliases
array

Accepted alternate names that should normalize to the canonical label. Up to 10 aliases, each up to 100 characters.

parameters.output_steering.tag_taxonomy.allow_other
boolean

When false, generated tags are filtered to taxonomy labels and aliases. When true, unmatched tags may remain.

parameters.output_steering.summary_style
string
Possible values: "concise""detailed""editorial"

Best-effort style guidance for the generated title and description.

parameters.output_steering.audience
string

Intended audience used as best-effort model guidance. Does not change the output schema.

parameters.output_steering.brand_terms
array

Preferred brand or domain terms to use when supported by the source content.

parameters.title_length
integer
(min: 1)

Maximum title length in words.

parameters.description_length
integer
(min: 1)

Maximum description length in words.

parameters.tag_count
integer
(default: 10, min: 1)

Maximum number of tags to include in the generated output. Defaults to 10.

parameters.language_code
string

BCP 47 language code of the caption source. An explicit language must match a ready source exactly, including case; for example, en does not match en-US. Translation target exclusion and track replacement instead compare base languages case-insensitively. When omitted, automatic selection applies. Uses the first ready subtitle in asset track order without English preference. Audio-only assets with one ready text track lacking subtitle metadata can use that legacy transcript.

parameters.output_language_code
string

BCP 47 language code for the generated summary output (e.g. "en", "fr", "ja"). Auto-detected from the transcript if omitted.

parameters.update_asset_meta
boolean

When true, the generated title is written to the Mux asset's metadata (asset.meta.title) once the summary completes. Best-effort: a metadata-write failure does not fail the summary.

post
202
https://api.mux.com/robots/v1/jobs/summarize
Request
(application/json)
{
  "parameters": {
    "asset_id": "mux_asset_123abc",
    "tone": "neutral",
    "tag_count": 10,
    "update_asset_meta": true,
    "output_steering": {
      "scope": {
        "start_time": 30,
        "end_time": 180
      },
      "summary_style": "concise",
      "audience": "Product marketers",
      "brand_terms": [
        "Mux",
        "Robots"
      ]
    }
  }
}
Response
(application/json)
{
  "data": {
    "id": "rjob_example123",
    "workflow": "summarize",
    "status": "pending",
    "units_consumed": 0,
    "created_at": 1700000000,
    "updated_at": 1700000060,
    "parameters": {
      "asset_id": "mux_asset_123abc",
      "tone": "neutral",
      "tag_count": 10,
      "update_asset_meta": true,
      "output_steering": {
        "scope": {
          "start_time": 30,
          "end_time": 180
        },
        "summary_style": "concise",
        "audience": "Product marketers",
        "brand_terms": [
          "Mux",
          "Robots"
        ]
      }
    }
  }
}