Used for the CapCut "Adjust" panel, including parameters such as exposure, brightness, contrast, saturation, temperature, tint, sharpness, vignette, and grain. The current release CLI does not promote all of these parameters to stable draft atomic commands, so by default it plans and reads back capabilities first.
When to use
- Correct exposure, white balance, contrast, saturation, or detail.
- Unify color across multiple shots, or perform local/global adjustments.
- Read, compare, reset, and restore adjustment parameters.
Capability boundaries
- ✅ Can do: adjustment parameter planning, capability detection, absolute value write requests, readback, before/after comparison, and restore.
- ⚠️ Requires conditions: must exactly match the CapCut version, semantic controls, and readback; visual conclusions require playback.
- ❌ Should not use: do not substitute filters for adjustments, do not guess slider scales, and do not execute automatically when only relative dragging is available.
Quick start
You can directly say: "Warm up the color temperature of the indoor clip but protect skin tones", "Read the current exposure parameters", "Reset the sharpness and vignette of this shot". On first use, load feature flow. When unifying exposure or white balance across multiple shots, load exposure matching flow, and store analysis suggestions, manual exceptions, absolute parameters, and readback separately.
Execution contract
- Trigger conditions: the user requests adjustment panel, exposure, temperature, contrast, saturation, sharpness, vignette, or grain operations.
- Required capability:
runtime.control_catalog、runtime.controls、runtime.profile、project.edit_isolated。 - Minimum CLI version:
1.6.19;runtime.controlsor when specific parameters are not supported, only output plans and version-bound Adapter requests. - Default risk:
external_native_execution。 - Input facts: target clip/range, exact editor version, original parameter readback, reference image, allowed parameters, skin tone/brand color protection rules.
- Confirmation points: confirm separately for first GUI Adapter call, whole-film adjustment, resetting existing adjustments, and native playback.
- Success evidence:
playback; parameter write receipts still require before/after visual evidence. - Prohibited actions: must not use filter commands to impersonate adjustments, must not guess slider values, reuse control mappings from other versions, or continuously accumulate parameters when readback is unavailable.
Workflow
Step 1 — Detect controls
runtime controls list/get Find the adjustment semantic actions and state readback contract for the exact version.
Step 2 — Save baseline
Save pre-application parameters and visual evidence; stop when semantic IDs or readback are missing.
Step 3 — Approve execution
Follow feature flow to generate a one-time, absolute value parameter request and obtain approval.
Step 4 — Verify
After the Adapter executes, read back the parameters again and compare before/after proxy/native visuals.
Step 5 — Restore
When verification fails or the state is unclear, restore the snapshot and do not repeat incremental operations.
Rules
- Only accept absolute parameter targets and readable-back state.
- Re-run Canary whenever version, build, or semantic ID changes.
- Save the original parameters and visual baseline before writing.
- Filters, adjustments, and LUTs must not impersonate one another.
- The analysis Provider can only make suggestions; batch writes are not allowed without absolute parameters, version-bound semantic IDs, and readback.
Gotchas
- Relative dragging is not idempotent: remain blocked when there are no absolute values and no readback.
- Version upgrade mapping drift: Re-verify controls for each version.
- Exposure correction damages skin tones: Check highlights, shadows, and skin tones at the same time.
- Batch copy overwrites exception shots: List the excluded clips first.
- Repeated adjustments after timeout: Read back the current value first to avoid stacking.
Security and Data
Adjustments by default only process local drafts and proxy frames, and do not upload videos; remote evaluation requires separate approval for the exact proxy, Provider, and costs.
For a minimal Job, see examples/minimal-job.json。