# API 1.7.0: cutting, music, voice, captions from speech

> Editing through the API and MCP covers everything the timeline does: cuts, freeze frames, music, voice, inserts. New: captions from speech at cost.

Source: https://docs.slicer.media/en/changelog/api-1-7-editing/

The single edit operation catalog has grown — the new operations work in `POST /v1/projects/{id}/edits`, in the MCP tool `edit_project`, in the AI assistant and for the director in the Chat. All of them are free.

## Cutting and fragment look

-   `split_block`, `trim_block`, `duplicate_block` — split a fragment at a video moment, trim or extend it at the start or end, duplicate it.
-   `freeze_frame` and `set_hold` — a freeze frame and its length.
-   `replace_source` — show another source in a fragment; in a fragment with speech the new picture goes over it as an insert.
-   `set_process` — free processing: reverse, stabilization, noise reduction, audio enhancement.
-   `apply_keyframe_preset` — a camera move across the whole fragment: zoom in, zoom out, pan.
-   `tune_block` — the new `background` field: a blurred background or a colour behind a fitted picture.

## Music and voice

-   `set_music`, `remove_music` — a track from the sources or project media, volume, ducking under speech, start, fade-in and fade-out.
-   `fit_music`, `fit_to_beats` — the track fitted to the video length, footage cuts snapped to the beats.
-   `add_voice`, `move_voice`, `trim_voice`, `set_voice_volume`, `remove_voice` — a voice recording on the voice track.

## Inserts and elements

-   `add_insert`, `update_insert`, `remove_insert` — your own photos and videos over the video, full frame or in a window.
-   `update_plaque`, `update_card`, `update_zoom` — change a plaque, a card (label, your own photo) and a zoom in place.
-   `set_element_position` — move an emoji, card or plaque around the frame.
-   `set_phrase_text`, `reset_phrase_text` — the caption text of a whole phrase.
-   `move_element` — now also moves sounds and markers.

## Captions from speech

-   `POST /v1/projects/{id}/transcribe` — recognise the speech in the sources, like **Captions from speech** in the editor: after that a project without the AI director gets captions, and words with `id`s appear in the video text. The `sources` and `language` fields are optional. Priced at cost per minute of sound: without `confirmCost` the response is the price (a `Quote` with `estimate` and `cost`), with it — a start in the background.
-   `GET /v1/projects/{id}/transcribe` — recognition jobs: processing, ready or failed (then the tokens come back).
-   `POST /v1/estimate` — the new `transcribe` kind (needs `projectId`).
-   MCP — the `transcribe_speech` and `get_transcribe_jobs` tools.

New skip reasons: `block_or_source_not_found`, `audio_not_found`, `no_music_or_beats`, `recording_not_found`, `media_or_place_not_found`, `word_not_found`. Clients don't need to change anything — all changes are within `/v1`.

[Editing the video](https://docs.slicer.media/en/api/editing/#operations) · [Captions from speech](https://docs.slicer.media/en/api/editing/#transcribe) · [Music and voice](https://docs.slicer.media/en/api/editing/#ops-audio) · [Your photos and videos over the video](https://docs.slicer.media/en/api/editing/#ops-inserts) · [API version history](https://docs.slicer.media/en/api/versioning/#history)
