---
title: "POST robots.v1.job.find_key_moments.processing"
method: POST
path: "robots.v1.job.find_key_moments.processing"
---

# POST robots.v1.job.find_key_moments.processing

`POST robots.v1.job.find_key_moments.processing` (webhook)

## Payload

- object
  - `type` 'robots.v1.job.find_key_moments.processing', required: Type for the webhook event
  - `id` string, required: Unique identifier for the event
  - `created_at` string, date-time, required: Time the event was created
  - `object` object, required
    - `type` string, required
    - `id` string, required
  - `environment` object, required
    - `name` string, required: Name for the environment
    - `id` string, required: Unique identifier for the environment
  - `attempts` object[], required: Attempts for sending out the webhook event
    - `webhook_id` integer: Unique identifier for the webhook
    - `response_status_code` integer: HTTP response status code for the webhook attempt
    - `response_headers` object: HTTP response headers for the webhook attempt
    - `response_body` string, nullable: HTTP response body for the webhook attempt
    - `max_attempts` integer: Max attempts number for the webhook attempt
    - `id` string: Unique identifier for the webhook attempt
    - `created_at` string, date-time: Time the webhook request was attempted
    - `address` string: URL address for the webhook attempt
  - `data` object, required: Version 1 job delivered in the Mux webhook event data field. The event type identifies its workflow and transition.
    - `id` string, required: Unique job identifier.
    - `passthrough` string: Arbitrary string supplied at creation, returned as-is.
    - `units_consumed` integer, required: Number of Mux AI units consumed by this job.
    - `directive` object: The directive run that dispatched this job. Absent for jobs created via direct API POST.
      - `id` string, required: ID of the directive that dispatched this job.
      - `run_id` string, required: ID of the specific directive run that dispatched this job.
    - `created_at` integer, required: Unix timestamp (seconds) when the job was created.
    - `updated_at` integer, required: Unix timestamp (seconds) of the job's last state transition (e.g. when it started processing or reached a terminal state).
    - `workflow` 'find-key-moments', required
    - `parameters` object, required
      - `asset_id` string, required: The Mux asset ID of the video to analyze.
      - `max_moments` integer: Maximum number of key moments to extract. When omitted, defaults to 10 for assets up to one hour and 25 for longer assets.
      - `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.
      - `output_steering` object: 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.
        - `scope` object: Optional execution window in seconds on the original asset timeline. Omit start_time to begin at the asset start and omit end_time to continue through the asset end. Returned moment timestamps remain absolute asset timestamps.
          - `start_time` number: Start of the execution window in seconds from the beginning of the media. When omitted, the window starts at the beginning.
          - `end_time` number: End of the execution window in seconds from the beginning of the media. When omitted, the window extends to the end.
        - `selection_strategy` 'standalone_hooks' | 'educational_takeaways' | 'story_beats' | 'product_moments' | 'speaker_highlights': Best-effort guidance for what qualifies as a strong standalone key moment.
        - `title_style` 'descriptive' | 'punchy' | 'educational' | 'social': Best-effort title style guidance for generated moment titles.
        - `audience` string: Intended audience used as best-effort model guidance. Does not change the output schema.
        - `brand_terms` string[]: Preferred brand or domain terms to use when supported by the source content.
        - `topic_taxonomy` object: Controlled vocabulary used to steer notable audible concepts without changing the response schema.
          - `name` string: Optional customer-facing name for the taxonomy.
          - `values` object[], required: Controlled vocabulary values used as best-effort model guidance.
            - `label` string, required: Canonical taxonomy value to prefer when supported by the source content.
            - `description` string: Short explanation of when this value applies.
            - `aliases` string[]: Accepted alternate names that should normalize to the canonical label.
          - `allow_other` boolean, required: When false, the model should prefer values from the taxonomy. When true, non-taxonomy values may be used when no taxonomy value applies.
        - `rubric_priorities` string[]: Rubric dimensions to use as tie-breakers after applying selection strategy. Best-effort guidance only.
      - `target_duration` object: Preferred highlight duration range in seconds. Best-effort guidance, with millisecond precision.
        - `min` number, required: Preferred minimum highlight duration in seconds, with millisecond precision.
        - `max` number, required: Preferred maximum highlight duration in seconds, with millisecond precision.
    - `status` 'pending' | 'processing' | 'completed' | 'errored' | 'cancelled', required: Current job status.
    - `errors` object[]: Error details. Present when status is 'errored'.
      - `type` string, required: Stable public error category identifier.
      - `message` string, required: Human-readable public error message.
      - `retryable` boolean: Whether retrying this job may resolve the error.
    - `resources` object: Related Mux resources linked to this job.
      - `assets` object[], required: Mux assets associated with this job.
        - `id` string, required: Mux asset ID.
        - `meta` object: Mux asset metadata, if available.
          - `title` string: Asset title from Mux metadata.
          - `creator_id` string: Creator identifier from Mux metadata.
          - `external_id` string: External identifier from Mux metadata.
        - `passthrough` string: Passthrough string from the Mux asset.
        - `_links` object, required: Hypermedia links for the asset.
          - `self` object, required
            - `href` string, required: URL to the Mux asset resource.
    - `outputs` object: Workflow results. Present when status is completed.
      - `moments` object[], required: Extracted key moments, ordered by their absolute position on the original asset timeline.
        - `cues` object[], required: Contiguous transcript segments that comprise this moment. Empty when video selection identifies the moment without transcript evidence.
          - `text` string, required: Transcript text for this cue.
          - `start_time` number, required: Cue start time in seconds on the original asset timeline. Fractional seconds are supported.
          - `end_time` number, required: Cue end time in seconds on the original asset timeline. Fractional seconds are supported.
        - `overall_score` number, required: Weighted quality score from 0.0 to 1.0 based on the audible and/or visual evidence available to the selected analysis mode.
        - `title` string, required: Short catchy title for the moment (3-8 words).
        - `quotable_segment` object: Best short, verbatim quote from within this moment. Omitted when the selected video moment has no source-grounded transcript quote.
          - `text` string, required: Verbatim transcript quote selected from within the key moment.
          - `time` number, required: Quote start timestamp in seconds on the original asset timeline. Fractional seconds are supported.
        - `audible_narrative` string, required: One-sentence summary of what is being said during the moment. Empty when no transcript evidence is available.
        - `notable_audible_concepts` string[], required: Multi-word descriptive phrases (2-5 words each) capturing key audible concepts. Empty when no transcript evidence is available.
        - `visual_narrative` string: One-sentence summary of what is visually happening. Present for video assets only.
        - `notable_visual_concepts` object[]: Scored visual concepts extracted from sampled frames. Present for video assets only.
          - `concept` string, required: Multi-word visual concept (2-5 words).
          - `score` number, required: Relevance score from 0.0 to 1.0 measuring how important the visual concept is to the moment's available evidence.
          - `rationale` string, required: Brief explanation of the relevance score.
        - `start_time` number, required: Key moment start time in seconds on the original asset timeline. Fractional seconds are supported.
        - `end_time` number, required: Key moment end time in seconds on the original asset timeline. Fractional seconds are supported.

## Acknowledgement `200`

Return a 200 to indicate that the data was received successfully

---

[API](https://skmtc.dev/muxinc/apis/mux-api.md) - [All operations](https://skmtc.dev/muxinc/apis/mux-api/llms.txt) - [OpenAPI document](https://skmtc.dev/muxinc/apis/mux-api/revisions/75b4251a1d96?raw)
