---
title: "Add the video direction to a Song DNA song"
method: POST
path: "/songs/{song_id}/direction"
tags: ["Songs"]
---

# Add the video direction to a Song DNA song

`POST /songs/{song_id}/direction`

## Request

- Base URL: `https://api.songbrain.ai/v1`
- URL: `https://api.songbrain.ai/v1/songs/{song_id}/direction`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-Key`

For a finished song analysed with `mode: "dna"`: builds the story and the beat-synced shot plan from the existing analysis (no new upload) and turns the song into a `full` song. Costs 15 credits (never a free song), refunded automatically if it fails. The song is `processing` for about 30 seconds, then `done` again; a webhook_url set on the song gets a second `song.done` event with its own id and `data.direction_added: true`.

## Path parameters

- `song_id` string, required

## Response `202`

Successful Response

- unknown

## Other responses

- `400`: Invalid request (bad JSON, missing audio, invalid parameters).
- `401`: Missing or invalid API key.
- `402`: Free songs used up and not enough credits.
- `404`: Not found on your account.
- `409`: Conflict (still processing, Idempotency-Key reused or in progress).
- `413`: Audio larger than 100 MB.
- `415`: Unsupported content type.
- `429`: Rate limited or pipeline busy; see Retry-After.
- `500`: Server error. Quote the request_id when you contact support.

---

[API](https://skmtc.dev/songbrain/apis/songbrain-api.md) · [All operations](https://skmtc.dev/songbrain/apis/songbrain-api/llms.txt) · [OpenAPI document](https://skmtc.dev/songbrain/apis/songbrain-api/revisions/f7021caafaed?raw)
