# Create from a Custom Script

This snippet recreates the [📜 Create from a Custom Script](https://docs.autocontentapi.com/quick-start/explainer-video-examples/from-custom-script) recipe using Node.js. Review the [Node.js guide](https://docs.autocontentapi.com/code-samples/nodejs) for environment setup before running it.

```javascript
// Requires Node.js 18+ for the built-in fetch API.
const token = process.env.AUTOCONTENT_TOKEN ?? "YOUR_API_TOKEN";
const endpoint = "https://api.autocontentapi.com/content/Create";

const payload = {
  "outputType": "video",
  "text": "SPEAKER_00: Welcome back!\\nSPEAKER_01: Today we dig into productivity hacks..."
};

async function run() {
  const response = await fetch(endpoint, {
    method: "POST",
    headers: {
      Authorization: `Bearer ${token}`,
      'accept': 'application/json',
      "Content-Type": "application/json"
    },
    body: JSON.stringify(payload)
  });

  if (!response.ok) {
    const errorText = await response.text();
    throw new Error(`Request failed: ${response.status} ${response.statusText}\n${errorText}`);
  }

  const result = await response.json();
  console.log("Request accepted:", result);
}

run().catch(error => {
  console.error(error);
  process.exit(1);
});
```

Replace `YOUR_API_TOKEN` (or set the `AUTOCONTENT_TOKEN` environment variable) before running the request.

**See also**

* [Scenario overview](https://docs.autocontentapi.com/quick-start/explainer-video-examples/from-custom-script)
* [Node.js guide](https://docs.autocontentapi.com/code-samples/nodejs)
