> For the complete documentation index, see [llms.txt](https://docs.autocontentapi.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.autocontentapi.com/code-samples/slide-decks/nodejs/from-topic.md).

# Create a Slide Deck from a Topic Prompt

Use Node.js to mirror the [topic-based slide deck recipe](/quick-start/slide-decks/from-topic.md) with `outputType: "slide_deck"`.

```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: "slide_deck",
  topic: "Best practices for onboarding remote employees",
  text: "Target startup HR teams with a concise 8-slide plan and one checklist slide.",
  duration: "default",
  slideDeckFormat: "presenter"
};

async function run() {
  const response = await fetch(endpoint, {
    method: "POST",
    headers: {
      Authorization: `Bearer ${token}`,
      "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("Slide deck request accepted:", result);
}

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

Set `YOUR_API_TOKEN` (or `AUTOCONTENT_TOKEN`) before running.
