# Create from a Website

This snippet recreates the [🔗 Create from a Website](https://docs.autocontentapi.com/quick-start/explainer-videos/from-website) recipe using Node.js. Review the [Node.js guide](https://github.com/miguelpieras/autocontentapi-docs/blob/main/code-samples/nodejs.md) 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",
  "resources": [
    {
      "type": "website",
      "content": "https://example.com/market-report"
    }
  ],
  "text": "Explain the long-term implications for small business owners."
};

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-videos/from-website)
* [Node.js guide](https://github.com/miguelpieras/autocontentapi-docs/blob/main/code-samples/nodejs.md)
