---
canonical: https://wouldliker.com/developers/examples/nodejs/
meta-description: One-file Node.js client for the Wouldliker recommendation API. Native fetch, no SDK, deterministic.
meta-og:description: One-file Node.js client for the Wouldliker recommendation API.
meta-og:title: Node.js example | Wouldliker
meta-og:type: website
meta-og:url: https://wouldliker.com/developers/examples/nodejs/
meta-robots: index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1
meta-theme-color: #0c0c0a
meta-viewport: width=device-width, initial-scale=1.0
title: Node.js example | Wouldliker
---


★ Node 18+ native fetch★ One file★ No SDK★ Deterministic output★ Node 18+ native fetch★ One file★ No SDK★ Deterministic output

[![](https://wouldliker.com/assets/brand/wouldliker-tab-icon-192.png?v=20260515-unified-1)Wouldliker](https://wouldliker.com/)

[Sounds](https://wouldliker.com/sounds/)[Breakouts](https://wouldliker.com/breakout-view-examples/)[Matrix](https://wouldliker.com/recommendation-matrix/)[Developers](https://wouldliker.com/developers/)

[Use Vlog](https://www.tiktok.com/music/Vlog-7501680481626785808)

Examples › Node.js

# Node  *client.*

Quick answer: use the one-file Node 18+ client when an automated video tool needs a sound recommendation, TikTok sound URL, brief, captions, and boundary copy. It implements `describeToPublishablePack(clip)` , clip in, publishable pack out.

[Download wouldliker.js→](https://wouldliker.com/developers/examples/nodejs/wouldliker.js)[Back to examples→](https://wouldliker.com/developers/examples/)

01Install

## Save the  *file.*

```bash
curl -O https://wouldliker.com/developers/examples/nodejs/wouldliker.js
```

No dependencies. No `package.json` required.

02Use it

## Two calls,  *one helper.*

```js
import { describeToPublishablePack } from "./wouldliker.js";

const pack = await describeToPublishablePack({
  description: "Unboxing our new ceramic coffee mug, pour shot, 22 seconds",
  platform: "tiktok",
  content_type: "product_reveal",
  duration_seconds: 22,
});

console.log(pack.sound.tiktok_sound_url);
console.log(pack.captions.with_hashtags);
console.log(pack.copy_boundary);
```

The helper calls `POST /api/recommend` then `POST /api/brief`, and returns a flat object with `sound`, `why`, `avoid_if`, `saturation_state`, `proof`, `brief`, `captions`, `hashtags`, `aigc_disclosure`, and `copy_boundary`.

03CLI demo

## Try it from  *the terminal.*

```bash
node wouldliker.js "Unboxing my new ceramic mug, 22s, warm morning light"
```

Prints the publishable pack as JSON. Useful as a smoke test or as a piece of a shell pipeline.

04What it does not do

## No upload.  *No audio.*

The client returns metadata. Your existing TikTok upload step attaches the sound URL at publish time and files the AIGC label. No audio bytes are downloaded.

WOULDLIKER

★ Sound layer for short-form video

Built to be readable by people, Google, and AI assistants. Public proof. No fake counters. No guaranteed views.

##### Sounds

- [Vlog](https://wouldliker.com/sounds/vlog/)
- [Core](https://wouldliker.com/sounds/core/)
- [Presentation](https://wouldliker.com/sounds/presentation/)
- [Product Reveal](https://wouldliker.com/best-audio-for-product-videos/)

##### Proof & guides

- [Breakouts](https://wouldliker.com/breakout-view-examples/)
- [Proof](https://wouldliker.com/proof-links/)
- [Matrix](https://wouldliker.com/recommendation-matrix/)
- [Football](https://wouldliker.com/best-tiktok-sounds-for-football-edits/)

##### Data

- [Developers](https://wouldliker.com/developers/)
- [Examples](https://wouldliker.com/developers/examples/)
- [llms.txt](https://wouldliker.com/llms.txt)

© 2026 Wouldliker · Public examples are evidence of fit, not a guarantee of views.
