Skip to content

Works with: Claude Code, OpenClaw, Cursor, Hermes

Example frame: a sea of cloud with the sun low on the horizon, seen from aboveExample frame (stock footage)Example clip (stock footage)Video: K / Pexels

Nightshift MCP. Your whole studio, inside your agent.

Add Nightshift to the assistant you already use, then ask it to make a video, follow the job and publish it — with the same publish check and approvals as the app.

API keys work today with any assistant that can send a header. Claude and ChatGPT will connect with a sign-in, which is coming soon.

  1. Topic
  2. Plan
  3. Approve
  4. Live

Make a video about how bread rises for my science channel, and tell me when it is done.

Nightshiftexample reply
  • Private on YouTube
  • Publish check passed
  • Waiting for you
An example of an ask and the wait for approval. Not a real run, not a real result.

Connect

API balance. API keys and the REST API are paid from a prepaid API balance. Connecting with a sign-in, which will be part of every paid plan, is coming soon. Compare plans
Coming soon

Claude will connect with a sign-in

Adding Nightshift to Claude by its server address and a sign-in is not switched on yet, so there is nothing to add in Claude today. Nightshift’s server takes API keys for now.

Works today with an API key:

Coming soon

ChatGPT will connect with a sign-in

Adding Nightshift to ChatGPT by its server address and a sign-in is not switched on yet, so there is nothing to add in ChatGPT today. Nightshift’s server takes API keys for now.

Works today with an API key:

  1. Create a key

    In the Command Center open Developers → API keys. Copy the key; it is shown once.

  2. Paste the snippet

    Run in a terminal

    claude mcp add --transport http nightshift https://nightshift-ai.studio/api/mcp \
      --header "Authorization: Bearer <your API key>"
  3. Ask your assistant

    Try “Which channels do I have in Nightshift?” Starting a video is the step that spends API balance.

Adds the server for you in the current project; add --scope user to have it in every project. Run /mcp inside Claude Code to see it connected.

Replace <your API key> with the key you created.

The key is a password: an assistant that holds it can spend your API balance. Keep it out of shared files and repositories.

  1. Create a key

    In the Command Center open Developers → API keys. Copy the key; it is shown once.

  2. Paste the snippet

    Run in a terminal

    openclaw mcp set nightshift '{
      "url": "https://nightshift-ai.studio/api/mcp",
      "transport": "streamable-http",
      "headers": {
        "Authorization": "Bearer <your API key>"
      }
    }'
  3. Ask your assistant

    Try “Which channels do I have in Nightshift?” Starting a video is the step that spends API balance.

Always keep the transport set to streamable-http; left out, OpenClaw uses the older SSE transport.

Replace <your API key> with the key you created.

The key is a password: an assistant that holds it can spend your API balance. Keep it out of shared files and repositories.

  1. Create a key

    In the Command Center open Developers → API keys. Copy the key; it is shown once.

  2. Paste the snippet

    Save as ~/.cursor/mcp.json

    {
      "mcpServers": {
        "nightshift": {
          "url": "https://nightshift-ai.studio/api/mcp",
          "headers": { "Authorization": "Bearer <your API key>" }
        }
      }
    }
  3. Ask your assistant

    Try “Which channels do I have in Nightshift?” Starting a video is the step that spends API balance.

Restart Cursor after saving.

Replace <your API key> with the key you created.

The key is a password: an assistant that holds it can spend your API balance. Keep it out of shared files and repositories.

  1. Create a key

    In the Command Center open Developers → API keys. Copy the key; it is shown once.

  2. Paste the snippet

    Add to ~/.hermes/config.yaml

    mcp_servers:
      nightshift:
        url: "https://nightshift-ai.studio/api/mcp"
        headers:
          Authorization: "Bearer <your API key>"
  3. Ask your assistant

    Try “Which channels do I have in Nightshift?” Starting a video is the step that spends API balance.

Run /reload-mcp afterwards. Hermes keeps the key in this file, so keep the file private.

Replace <your API key> with the key you created.

The key is a password: an assistant that holds it can spend your API balance. Keep it out of shared files and repositories.

  1. Create a key

    In the Command Center open Developers → API keys. Copy the key; it is shown once.

  2. Paste the snippet

    Save as .vscode/mcp.json in your project

    {
      "inputs": [
        {
          "type": "promptString",
          "id": "nightshift-key",
          "description": "Nightshift API key",
          "password": true
        }
      ],
      "servers": {
        "nightshift": {
          "type": "http",
          "url": "https://nightshift-ai.studio/api/mcp",
          "headers": { "Authorization": "Bearer ${input:nightshift-key}" }
        }
      }
    }
  3. Ask your assistant

    Try “Which channels do I have in Nightshift?” Starting a video is the step that spends API balance.

VS Code asks for the key the first time the server starts and stores it for you, so it is never written into the file.

Replace <your API key> with the key you created.

The key is a password: an assistant that holds it can spend your API balance. Keep it out of shared files and repositories.

  1. Create a key

    In the Command Center open Developers → API keys. Copy the key; it is shown once.

  2. Paste the snippet

    Cascade panel → Actions menu → Open MCP config file

    {
      "mcpServers": {
        "nightshift": {
          "serverUrl": "https://nightshift-ai.studio/api/mcp",
          "headers": { "Authorization": "Bearer <your API key>" }
        }
      }
    }
  3. Ask your assistant

    Try “Which channels do I have in Nightshift?” Starting a video is the step that spends API balance.

Add the entry under mcpServers and save.

Replace <your API key> with the key you created.

The key is a password: an assistant that holds it can spend your API balance. Keep it out of shared files and repositories.

  1. Create a key

    In the Command Center open Developers → API keys. Copy the key; it is shown once.

  2. Paste the snippet

    Cline panel → MCP Servers → Configure → Configure MCP Servers

    {
      "mcpServers": {
        "nightshift": {
          "type": "streamableHttp",
          "url": "https://nightshift-ai.studio/api/mcp",
          "headers": { "Authorization": "Bearer <your API key>" }
        }
      }
    }
  3. Ask your assistant

    Try “Which channels do I have in Nightshift?” Starting a video is the step that spends API balance.

Set type to streamableHttp; leaving it out selects the older SSE transport.

Replace <your API key> with the key you created.

The key is a password: an assistant that holds it can spend your API balance. Keep it out of shared files and repositories.

  1. Create a key

    In the Command Center open Developers → API keys. Copy the key; it is shown once.

  2. Paste the snippet

    Open your settings file (zed: open settings file)

    {
      "context_servers": {
        "nightshift": {
          "url": "https://nightshift-ai.studio/api/mcp",
          "headers": { "Authorization": "Bearer <your API key>" }
        }
      }
    }
  3. Ask your assistant

    Try “Which channels do I have in Nightshift?” Starting a video is the step that spends API balance.

Or use Settings → AI → MCP Servers → Add Server → Add Remote Server.

Replace <your API key> with the key you created.

The key is a password: an assistant that holds it can spend your API balance. Keep it out of shared files and repositories.

  1. Create a key

    In the Command Center open Developers → API keys. Copy the key; it is shown once.

  2. Paste the snippet

    Run in a terminal

    gemini mcp add --scope user --transport http \
      --header "Authorization: Bearer <your API key>" \
      nightshift https://nightshift-ai.studio/api/mcp
  3. Ask your assistant

    Try “Which channels do I have in Nightshift?” Starting a video is the step that spends API balance.

Saved for your user in ~/.gemini/settings.json, so the key never lands in a project’s files.

Replace <your API key> with the key you created.

The key is a password: an assistant that holds it can spend your API balance. Keep it out of shared files and repositories.

  1. Create a key

    In the Command Center open Developers → API keys. Copy the key; it is shown once.

  2. Paste the snippet

    Shell profile and ~/.codex/config.toml

    # In your shell profile
    export NIGHTSHIFT_API_KEY="<your API key>"
    
    # ~/.codex/config.toml
    [mcp_servers.nightshift]
    url = "https://nightshift-ai.studio/api/mcp"
    bearer_token_env_var = "NIGHTSHIFT_API_KEY"
  3. Ask your assistant

    Try “Which channels do I have in Nightshift?” Starting a video is the step that spends API balance.

The key stays in an environment variable. The desktop app, the CLI and the IDE extension share this file.

Replace <your API key> with the key you created.

The key is a password: an assistant that holds it can spend your API balance. Keep it out of shared files and repositories.

  1. Create a key

    In the Command Center open Developers → API keys. Copy the key; it is shown once.

  2. Paste the snippet

    Roo Code pane → MCP → Edit Global MCP

    {
      "mcpServers": {
        "nightshift": {
          "type": "streamable-http",
          "url": "https://nightshift-ai.studio/api/mcp",
          "headers": { "Authorization": "Bearer <your API key>" }
        }
      }
    }
  3. Ask your assistant

    Try “Which channels do I have in Nightshift?” Starting a video is the step that spends API balance.

Set type to streamable-http.

Replace <your API key> with the key you created.

The key is a password: an assistant that holds it can spend your API balance. Keep it out of shared files and repositories.

  1. Create a key

    In the Command Center open Developers → API keys. Copy the key; it is shown once.

  2. Paste the snippet

    Settings → Agents → MCP servers → + Add, then paste

    {
      "mcpServers": {
        "nightshift": {
          "url": "https://nightshift-ai.studio/api/mcp",
          "headers": { "Authorization": "Bearer <your API key>" }
        }
      }
    }
  3. Ask your assistant

    Try “Which channels do I have in Nightshift?” Starting a video is the step that spends API balance.

Warp accepts the same JSON other assistants use.

Replace <your API key> with the key you created.

The key is a password: an assistant that holds it can spend your API balance. Keep it out of shared files and repositories.

  1. Create a key

    In the Command Center open Developers → API keys. Copy the key; it is shown once.

  2. Paste the snippet

    Settings → Developer → Edit Config (claude_desktop_config.json)

    {
      "mcpServers": {
        "nightshift": {
          "command": "npx",
          "args": [
            "-y",
            "mcp-remote",
            "https://nightshift-ai.studio/api/mcp",
            "--header",
            "Authorization:${NIGHTSHIFT_AUTH}"
          ],
          "env": { "NIGHTSHIFT_AUTH": "Bearer <your API key>" }
        }
      }
    }
  3. Ask your assistant

    Try “Which channels do I have in Nightshift?” Starting a video is the step that spends API balance.

Claude Desktop connects through the small mcp-remote bridge, which adds the header on your computer. It needs Node.js. Restart Claude Desktop afterwards.

Replace <your API key> with the key you created.

The key is a password: an assistant that holds it can spend your API balance. Keep it out of shared files and repositories.

  1. Create a key

    In the Command Center open Developers → API keys. Copy the key; it is shown once.

  2. Paste the snippet

    Any client that speaks Streamable HTTP and can send a header

    URL        https://nightshift-ai.studio/api/mcp
    Transport  Streamable HTTP
    Header     Authorization: Bearer <your API key>
  3. Ask your assistant

    Try “Which channels do I have in Nightshift?” Starting a video is the step that spends API balance.

Use the URL, the transport and the header exactly as written.

Replace <your API key> with the key you created.

The key is a password: an assistant that holds it can spend your API balance. Keep it out of shared files and repositories.

Read the API reference

Product names and logos are trademarks of their respective owners and are shown only to indicate compatibility; Nightshift is not affiliated with or endorsed by them.

Everything you’d open Nightshift for, just by asking.

Describe the video you want. Your assistant makes it, follows it and brings it back, and publishing still waits for you.

  • Video

    From an idea to a finished video

    Give a topic and a length, or let the channel pick the topic. Narration, visuals, captions and the edit come back as one finished video.

  • Channels

    Every channel keeps its own look

    Your assistant lists your channels and makes each video for the one you name, in that channel’s language, voice and look. Each channel’s settings stay apart from the others.

  • Language and voice

    Say it in the channel’s language

    Ask for a video in another language and the narration follows it. The voice is the channel’s own.

  • Approval

    Nothing goes public without you

    Publishing passes the same publish check and approvals as the app, and YouTube uploads stay private until you decide. Your assistant can ask; it cannot skip the gate.

  • Credits and limits

    You set what it can spend

    When a video is queued, its price is set aside from your API balance; it is charged only when the video succeeds and is given back when it fails. Your organization can set a monthly limit, and each key its own.

  • Workflows

    Run a whole list of topics in one ask

    Hand over a list of topics. Your assistant starts them one at a time, follows each job and checks your balance before the next.

Examples

What you can ask for

Six sample asks, each with an example frame. The frames are stock photos and footage from Pexels contributors, credited on each card; one of them moves (the contributor’s footage, looped). They show the idea, not real output.

Example frame: forested hills with golden mist at sunriseExample frame (stock photo)Photo: Cris Ljungmann / Pexels
Vertical short

A short about why the sky is blue.

Example frame: a lighthouse in tall grass at golden hourExample frame (stock photo)Photo: Ray Bilcliff / Pexels
Explainer

A calm explainer on how bridges stay up.

Example frame: an evening market in Marrakech seen from aboveExample frame (stock photo)Photo: Mathias Dargnat / Pexels
Story

A story video about an old trade route, in Uzbek.

Example frame: a full moon in a dark night skyExample frame (stock photo)Photo: Eve R / Pexels
Faceless

A faceless video about the biggest stars we know.

Example frame: a library with a lit chandelierExample frame (stock photo)Photo: TEBESSUM PROVALARI / Pexels
How-to

A step-by-step cooking video for my channel.

Example frame: a camel caravan on a desert duneExample frame (stock footage)Example clip (stock footage)Video: Simeon Stoilov / Pexels
Weekly

This week’s video for my channel, ready to approve.

What your assistant can do

Ten tools. Reading is free.

Only the two that spend money say so. Prices come from the live price list on the API reference.

Tools
Tools
ToolWhat it doesCost
list_channelsYour channels and their idsFree
create_videoStart a video from a topic and a lengthYou are charged when the video is made; a failed run costs nothing.
get_job_statusFollow a video as it is made: status, error, chargeFree
list_videosYour videos, newest firstFree
get_videoOne video with its publish statusFree
list_connected_accountsWhere you can publish: YouTube channels, Instagram and TikTok accountsFree
publish_videoCross-post a finished video. Same publish check and approvals as the site; YouTube uploads stay privateFree
request_downloadOrder a 720p or 1080p MP4Charged when the file is ready; a failed download costs nothing.
get_downloadA download’s status and linkFree
get_balanceYour API balance, this month’s spend and tierFree

Frequently asked questions

What is Nightshift MCP?

A server your AI assistant connects to. Through it the assistant can list your channels, make videos, follow each job and publish, with the same publish check and approvals as the app.

What can my assistant do?

It can list your channels and videos, start a video, follow its job, check your balance, publish a finished video to your connected accounts and, with an API key, order an HD download. The full list of tools is further down this page.

Which assistants work with it?

With an API key today: Claude Code, OpenClaw, Cursor and Hermes, then VS Code, Windsurf, Cline, Zed, Gemini CLI, Codex, Roo Code, Warp, Claude Desktop, and any client that can send a header to a remote server. Claude and ChatGPT will connect with a sign-in, which is coming soon.

How do I connect one?

Pick your assistant in the connect card at the top. Today every assistant takes an API key you create in Developers; connecting Claude and ChatGPT with a sign-in is coming soon.

What does it cost?

An API key spends your prepaid API balance. When a video is queued its price is set aside; it is charged only when the video succeeds, and a failed run costs nothing. Connecting with a sign-in, which spends your plan’s credits instead, is coming soon.

Can it publish without asking me?

No. Publishing passes the same publish check and approvals as the app, and YouTube uploads stay private until you decide.

How do I disconnect an assistant?

An API key is revoked in Developers → API keys.

What if I run out of credits?

The request is refused before any work starts, and the assistant tells you what to do next. Nothing is held, queued or produced. After you top up your API balance, the same key works again on its next call.

Bring Nightshift into your assistant

Connect in a few minutes and start making videos right where you already work.

Back to the connect card
Connect an AI assistant (MCP) · Nightshift