Skip to Content
Create a 'find-key-moments' job
post

Creates a new job that uses AI to identify key moments in a Mux Video asset. Set use_shots to true to automatically generate or reuse Mux shots and use visual evidence during selection, with transcript evidence incorporated when available; otherwise selection uses transcript evidence and the asset must have a caption track. Audio-only assets always use transcript evidence and require a caption track. Optional output steering can restrict execution to a time scope in seconds and guide selection strategy, title style, audience, topic taxonomy, and scoring priorities without changing the response schema. Scoped results retain absolute timestamps on the original asset timeline. 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. Audio-only analysis requires a caption source; video analysis can proceed without automatic captions when the selected mode permits it.

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 analyze.

parameters.max_moments
integer
(min: 1, max: 25)

Maximum number of key moments to extract. When omitted, defaults to 10 for assets up to one hour and 25 for longer assets.

parameters.use_shots
boolean

Controls whether video assets are analyzed using Mux shots. When true, shots are generated or reused and visual evidence drives selection. When false or omitted, selection uses transcript evidence and the asset must have a caption track. Not supported for audio-only assets.

Curated output_steering controls for execution scope, selection strategy, title style, audience, taxonomy, and rubric tie-breakers. Scope is enforced; other controls guide model behavior but do not guarantee exact output.

parameters.output_steering.scope
parameters.output_steering.selection_strategy
string
Possible values: "standalone_hooks""educational_takeaways""story_beats""product_moments""speaker_highlights"

Best-effort guidance for what qualifies as a strong standalone key moment.

parameters.output_steering.title_style
string
Possible values: "descriptive""punchy""educational""social"

Best-effort title style guidance for generated moment titles.

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.output_steering.topic_taxonomy
parameters.output_steering.rubric_priorities
array

Rubric dimensions to use as tie-breakers after applying selection strategy. Best-effort guidance only.

Possible values: "clarity_in_isolation""emotional_intensity""novelty""soundbite_quality"

Preferred highlight duration range in seconds. Best-effort guidance, with millisecond precision.

parameters.target_duration.min
number
(max: 9007199254740.99)

Preferred minimum highlight duration in seconds, with millisecond precision.

parameters.target_duration.max
number
(max: 9007199254740.99)

Preferred maximum highlight duration in seconds, with millisecond precision.

post
202
https://api.mux.com/robots/v1/jobs/find-key-moments
Request
(application/json)
{
  "parameters": {
    "asset_id": "mux_asset_123abc",
    "max_moments": 10,
    "target_duration": {
      "min": 15.123,
      "max": 45.456
    }
  }
}
Response
(application/json)
{
  "data": {
    "id": "rjob_example123",
    "workflow": "find-key-moments",
    "status": "pending",
    "units_consumed": 0,
    "created_at": 1700000000,
    "updated_at": 1700000060,
    "parameters": {
      "asset_id": "mux_asset_123abc",
      "max_moments": 10,
      "target_duration": {
        "min": 15.123,
        "max": 45.456
      }
    }
  }
}