# Make a call with Python SDK

You can quickly see how the Voice API works by calling yourself using the Python SDK for Voice API.

Note:
Before you can get started, you need the following already set up:

* Set all Voice API [configuration settings](/docs/voice/getting-started).
* [Python](https://www.python.org/) and a familiarity with how to create a new file.
* [PIP (package installer for Python)](https://pypi.org/project/pip/) and a familiarity with how to install Python modules.


## Step 1. Set up your Python application

Create a new project folder.

The easiest way to install the SDK is using [`pip`](https://pypi.org/project/pip/):

1. Open a command prompt or terminal to the local repository folder.
2. Execute the following command:

```cmd
pip install sinch==1.1.4
```


### Modify your application

In your project folder, create a new filed named "app.py" and paste the provided "app.py" code into the file.

app.py
```python app.py
# Use this code to make a phone call using the Voice API and Python SDK. 
from sinch import SinchClient

sinch_client = SinchClient(
    application_key="YOUR_application_key",
    application_secret="YOUR_application_secret"
)

response = sinch_client.voice.callouts.text_to_speech(
    destination={
        "type":"number",
        "endpoint":"YOUR_phone_number"
    }, 
    text="Hello, this is a call from Sinch. Congratulations! You made your first call.")

print(response)
```

The code provided includes placeholder parameters. You'll need to update the parameters detailed in the following subsections with your values.

#### Initialize the client

To start using the SDK, you need to initialize the main client class with your credentials from your Sinch [dashboard](https://dashboard.sinch.com) and additionally add your [Voice app credentials](https://dashboard.sinch.com/voice/apps).

```python
from sinch import SinchClient

sinch_client = SinchClient(
    application_key="YOUR_application_key",
    application_secret="YOUR_application_secret"
)
```

Note
For testing purposes on your local environment it's fine to use hardcoded values, but before deploying to production we strongly recommend using environment variables to store the credentials, as in the following example:

```python
import os
from sinch import SinchClient

sinch_client = SinchClient(
    application_key=os.getenv("APPLICATION_KEY"),
    application_secret=os.getenv("APPLICATION_SECRET")
)
```

### Set your Destination parameter

In this example you want to call a phone number. Change the value of the `endpoint` parameter to the phone number you verified in your [dashboard](https://dashboard.sinch.com) in [E.164](https://community.sinch.com/t5/Glossary/E-164/ta-p/7537) format.

Note:
When your account is in trial mode, you can only call your [verified numbers](https://dashboard.sinch.com/numbers/verified-numbers). If you want to call any number, you need to upgrade your account!

Save the file.

## Step 2. Make your first call

Now you can execute the code and make your text-to-speech call. Run the following command:

```shell
python app.py
```

You should receive a phone call to the number you called with the message "Hello, this is a call from Sinch. Congratulations! You made your first call."

## Next steps

Now that you know how to make a call, learn how to [handle an incoming call](/docs/voice/getting-started/python-sdk/incoming-call).

## Additional resources

- [API specification](/docs/voice/api-reference/voice)