---slug: /guides/video/getting-started-video-api-with-reactsidebar_label: Getting Started - Reactsidebar_position: 1next: using-hooks-to-track-ui---import Tabs from @theme/Tabs;import TabItem from @theme/TabItem;# Getting Started with Video API in ReactSignalWire hosts community supported tools and libraries, including the [@signalwire-community/react](https://signalwire-community.github.io/docs/react/)package, which has a lot of React components and hooks to simplify your UI programming.In this article, we will create a simple, dynamic UI for the SignalWire Video conference using the tools provided inthe [@signalwire-community/react](https://www.npmjs.com/package/@signalwire-community/react) npm package.## Setting up the ProjectFirst, to set up the codebase, we need to initialize an empty React project and install the @signalwire-community/react package.bash npm2yarnnpx create-react-app videoappcd videoappnpm install @signalwire-community/reactnpm run start## Getting a Video Conference GoingIt is exceedingly simple to situate a fully functional video call within your React app. Simply useeither the component or the from the package. As long as you supply itwith a valid token, the components and the SDK will handle the messy details needed for setting up a reliablevideo connection between participants.jsx title=App.jsimport { VideoConference } from @signalwire-community/react;export default function Video() { return ;} jsx title=App.jsimport { Video } from @signalwire-community/react;export default function Video() { return If you havent already generated a token for Video, the[Getting Started](../../../getting-started/getting-started-with-the-signalwire-video-api-1/index.mdx#obtaining-your-api-key-and-project-id)guide will help.For demo purposes, feel free to use the following token. We maintain these particular tokens for demo of our guides, so expect to run into other developers here.vpt_78f91a752d4d9c685e47bd4a19fe72c1 eyJ0eXAiOiJWUlQiLCJjaCI6InJlbGF5LnNpZ25hbHdpcmUuY29tIiwiYWxnIjoiSFM1MTIifQ.eyJpYXQiOjE2NjAyODA0ODUsImp0aSI6ImE4NTc5MzU2LTc0NGItNGM5OS05NWQ2LTZhMTY4YmEyNTFhZCIsInN1YiI6IjUwNmNlYTMzLWViNDctNGI1Ni04MmIwLWQzYzVhZmFmMzlkNCIsInUiOiJxdWlja3Rva2VudXNlciIsImphIjoibWVtYmVyIiwiciI6InJvb20iLCJzIjpbInJvb20ubGlzdF9hdmFpbGFibGVfbGF5b3V0cyIsInJvb20uc2VsZi5hdWRpb19tdXRlIiwicm9vbS5zZWxmLmF1ZGlvX3VubXV0ZSIsInJvb20uc2VsZi52aWRlb19tdXRlIiwicm9vbS5zZWxmLnZpZGVvX3VubXV0ZSIsInJvb20uc2VsZi5kZWFmIiwicm9vbS5zZWxmLnVuZGVhZiIsInJvb20uc2VsZi5zZXRfaW5wdXRfdm9sdW1lIiwicm9vbS5zZWxmLnNldF9vdXRwdXRfdm9sdW1lIiwicm9vbS5zZWxmLnNldF9pbnB1dF9zZW5zaXRpdml0eSIsInJvb20uaGlkZV92aWRlb19tdXRlZCIsInJvb20uc2hvd192aWRlb19tdXRlZCJdLCJhY3IiOnRydWUsIm1hIjoiYWxsIiwiZXJwIjp0cnVlLCJtdGEiOnt9LCJybXRhIjp7fX0.ke-qPuTmp6tUOgdHMHv_i82PjuWQgr8lsX_VRS_Krq4nwYt3REGhSn1p68N3gXTXxp7DGd6dIJIzJwjVZvdDmA If you have setup everything till this point, you should have a working video call. If you were using