---
title: "Write a script from a topic or a brief (no video yet)"
method: POST
path: "/videos/script"
tags: ["Scripts"]
---

# Write a script from a topic or a brief (no video yet)

`POST /videos/script`

## Request

- Base URL: `https://app.makeaivideo.ai/api/v1`
- URL: `https://app.makeaivideo.ai/api/v1/videos/script`
- Auth: HTTP bearer

## Request body

- object
  - `topic` string
  - `brief` object
    - `tool` string, required: A tool id from GET /tools
    - `fields` object, required: The tool's brief fields by name
    - `duration_seconds` integer
    - `aspect_ratio` '9:16' | '1:1' | '16:9'
    - `language` string
  - `mode` 'talking-head' | 'cinematic' | 'hybrid' | 'stock-narrated' | 'smart-mix'
  - `target_duration` integer
  - `language` string
  - `character_name` string

## Response `200`

Script

- object
  - `data` object
    - `script` object
      - `title` string, required
      - `hook` string, required
      - `visual_thread` string
      - `total_duration_seconds` number, required
      - `hashtags` string[]
      - `scenes` object[], required
        - `scene_number` integer, required
        - `narration` string, required
        - `visual_description` string, required
        - `duration_seconds` number, required
        - `scene_type` 'character' | 'scene'
        - `image_prompt` string
        - `video_prompt` string
    - `credits` integer, nullable
  - `error` unknown
  - `meta` Meta
    - `request_id` string
    - `timestamp` string, date-time

---

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