> For the complete documentation index, see [llms.txt](https://docs.eyepop.ai/developer-documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.eyepop.ai/developer-documentation/sdks/node.md).

# Node

Call EyePop from Node, the browser, and React Native

The EyePop Node SDK calls the inference and data APIs from TypeScript or JavaScript. Install it, set an API key, and run a Pop against an image, video, or stream.

{% tabs %}
{% tab title="Node" %}

```shell
npm install --save @eyepop.ai/eyepop
```

{% endtab %}

{% tab title="Browser" %}

```html
<script src="https://cdn.jsdelivr.net/npm/@eyepop.ai/eyepop/dist/eyepop.min.js"></script>
```

{% endtab %}

{% tab title="React Native" %}

```shell
npm install --save @eyepop.ai/react-native-eyepop \
    react-native-canvas react-native-file-access@3.1.1 \
    react-native-tcp-socket react-native-webrtc
```

{% endtab %}
{% endtabs %}

### Your first prediction

```typescript
import { EyePop, PopComponentType } from '@eyepop.ai/eyepop'

const endpoint = await EyePop.workerEndpoint({
    pop: {
        components: [
            { type: PopComponentType.INFERENCE, ability: 'eyepop.person:latest' },
        ],
    },
}).connect()

try {
    const results = await endpoint.process({ source: { path: 'image.jpg' } })
    for await (const result of results) {
        console.log(result)
    }
} finally {
    await endpoint.disconnect()
}
```

`process()` resolves to a `ResultStream`, an `AsyncIterable` of predictions. An image normally produces one; a video or animated container produces one per frame.

Pass the Pop when you create the endpoint so EyePop can schedule the right compute before any media is processed.

### Next steps

* [Configuration](/developer-documentation/sdks/node/configuration.md) — credentials and session options
* [Running Inference](/developer-documentation/sdks/node/inference.md) — files, streams, URLs, and image groups
* [Composable Pops](/developer-documentation/sdks/node/composable-pops.md) — chain models into a pipeline
* [Visualization](/developer-documentation/sdks/node/visualization.md) — draw predictions on a canvas
