> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rawchunks.space/llms.txt
> Use this file to discover all available pages before exploring further.

# Rework a section

> Replace a timeline interval and preview the candidate before keeping it.

Use the client from [request setup](/dev/guides/connect). These examples assume `api`, `userAddress`, and the returned `songId` are available. `api` includes the session token and selected account headers.

Choose a positive interval in seconds that fits the source. This example changes seconds 15 through 30:

```javascript theme={null}
const job = await api.post('/api/editing/apply', {
  songId, userAddress, task: 'repaint',
  repaintingStart: 15, repaintingEnd: 30,
  prompt: 'Sparse drums and a warmer bass',
  repaintMode: 'balanced', repaintStrength: 0.5,
  modelQuality: 'sft',
});
```

`conservative`, `balanced` and `aggressive` describe repaint intent. `repaintStrength` ranges from 0 to 1. You can request transition length through `repaintWavCrossfadeSec` and latent transition frames through `repaintLatentCrossfadeFrames`. Listen to the boundary; these are model controls, not guarantees of a precise audible crossfade.

For vocal changes, include `lyrics`. `/apply` also accepts seed, BPM, key and language. The shortcut `/repaint` uses `start` and `end` instead of `repaintingStart` and `repaintingEnd`.

Use the polling function from [job handling](/dev/guides/jobs#generation-polling).

```javascript theme={null}
// Save job before polling so your product can resume after a reload.
const path = `/api/editing/status/${encodeURIComponent(job.taskId)}?` +
  new URLSearchParams({
    songId: job.songId, userAddress, task: job.task,
    ...(job.stemId ? { stemId: job.stemId } : {}),
  });
const result = await pollJob(() => api.get(path));
```

Keep the returned `taskId`, `songId`, `task`, and optional `stemId`. A polling timeout stops your client from waiting; it does not cancel the job.

The ready result is an inactive candidate. Preview `result.audioUrl`, then [activate or merge its take](/dev/guides/edit/takes). The unchanged source remains available until you keep a result.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.