# How to edit a video with Astra

> Edit your videos with Astra in Codex, using your footage and a style reference.


For Piru’s reel, we gave Astra raw footage and an edited Higgsfield reel we had already published. We asked it to recreate the edit: select takes, cut pauses, add zooms, place visual assets and mix music. Then we compared the versions and refined the result.

You can follow the same process with your footage. We used Filmora in the demonstration; you can choose another editor. How the agent controls it and the format of the editable project will depend on that choice.

## Prepare your computer

We will use Codex in a terminal, as shown in the video. If you already have it installed, skip to step 3.

### Install Node.js
Go to [nodejs.org](https://nodejs.org/), download the **LTS** version and install it with the default options. This lets you install Codex using the command in the next step.

### Install Codex
On Windows, search for **Command Prompt** in Start. On Mac, open **Terminal**. Paste this command and press Enter:

```sh
npm install -g @openai/codex
```

Wait for it to finish. You only need to install it once.

### Open your video folder
Create a folder called **my-video**. Copy its path and type `cd` followed by that path in quotes. For example, on Windows:

```sh
cd "C:\Users\YourName\Desktop\my-video"
```

Replace the example path with your folder’s path. Then type:

```sh
codex
```

### Sign in and choose the model
Choose **Sign in with ChatGPT** and finish signing in through your browser. Return to the terminal, type `/model` and select **Astra** if it appears in your account. You can now ask it to work with files in that folder.

Have your preferred video editor installed. Tell Codex which one you use and ask it to check how it can work with it. Depending on your setup, it may control the application or prepare clips for you to import.

## Gather the files

Create a folder for this video and separate files by purpose:

```text
my-video/
raw/
references/
assets/
audio/
exports/
```

Put original takes in `raw`, an edited video whose pacing you like in `references`, and screenshots, logos and supporting clips in `assets`. Use `audio` for music and effects you have permission to use. Keep the originals and save new versions in `exports`.

## Give the edit some context

### Start with a review of the material
Explain the story, where you will publish it and which editor you use. Ask it to examine the takes and reference before cutting.

#### Prepare the edit

```text
Work in [path to my-video]. I want a video about [topic] for [social network], in [vertical or horizontal] format. I use [editor].

Review the complete raw footage, reference and assets. Identify good takes, false starts and the style: pacing, framing, color, captions and music. Check how you can work with my editor and deliver a project I can keep editing. Tell me what you need if anything is missing. Preserve my originals.
```

### Ask it to edit and review
Describe the result you want. Explain which parts of a reference matter, such as its pacing or face position, without necessarily copying all its graphics.

#### Edit the video

```text
Edit the good takes using the reference. Remove false starts and pauses that slow the pacing. Preserve the first and last syllables of each sentence. Where useful, let the outgoing voice finish over the next shot.

Keep the eyes in the upper half of the reel, with subtle zooms throughout each clip. Match lighting between takes. Enlarge the important part of screenshots so it is readable on a phone. Use real logos and assets. Animate supporting graphics as they enter and add a subtle sound effect.

Keep the voice clearly above the music. Check each join with isolated voice and then with the full mix. Export and inspect difficult sections before the complete video. Deliver the MP4 and an editable project compatible with my editor, with its linked assets. Identify anything you cannot leave editable.
```

## Review what you will publish

Open the complete MP4. Listen to the start and end of each sentence: a transcript can hide a partial word from an earlier attempt. Check that speech remains clear at low volume, changes in lighting are consistent and graphics are readable on your phone.

If something needs fixing, identify the sentence or time and explain what should happen:

#### Fix a join

```text
After “[sentence]”, at [time], there is [a pause / a false start / a clipped word]. Review the original and processed voice separately. Fix the join while preserving the complete word, then synchronize the image, captions and sounds again. Keep the rest of the edit.
```

**If you will enhance the voice with Adobe Podcast.**
Finish the cuts first. Ask for a voice-only WAV with the same duration and edit as the video. Process that file and return it to replace the entire voice track. If you change the cuts afterwards, that audio needs updating too.

## Keep the result and your editing preferences

Open the project in your editor and check that you can move clips, adjust audio and change text. Save the assets it needs alongside the MP4. A project containing only the finished video on a single track leaves much less room for changes.

Once you like the result, ask Codex to save your preferences in a skill or project instructions: framing, pacing, sound and mistakes you have already fixed. The next video can start with that context.

To prepare the post, upload the MP4 to a HeyMark draft, wait for it to finish uploading and ask Mark for a caption in your brand’s voice. Review the copy before deciding when to publish. You can also [connect your agent to HeyMark](/en/guides/publish-from-coding-agent/).

## Now put it to work.

HeyMark learns the rules you just wrote down, then plans, drafts, schedules and replies in that voice. You approve.

[Start free](https://app.heymark.ai) · [See how it works](https://heymark.ai/en/#product)

## Developer and agent resources

- [HeyMark MCP documentation](https://heymark.ai/en/mcp/)
- [llms.txt](https://heymark.ai/llms.txt)
- [Full site content for language models](https://heymark.ai/llms-full.txt)
- MCP protocol endpoint: `POST https://mcp.heymark.ai`
- OAuth protected-resource metadata: [/.well-known/oauth-protected-resource](https://mcp.heymark.ai/.well-known/oauth-protected-resource)
- MCP server card: [/server-card](https://mcp.heymark.ai/server-card)
