| ## Play My Emotions API Documentation | |
| ### Overview | |
| The Play My Emotions API provides song recommendations based on user emotions. The primary endpoint is `/recommend`, which takes in a user's emotional text and returns a list of recommended songs. | |
| ### Base URL | |
| ``` | |
| http://127.0.0.1:8000 | |
| ``` | |
| ### Endpoints | |
| #### 1. POST /recommend | |
| **Description**: | |
| Provides song recommendations based on the user's emotional input. | |
| **Request**: | |
| - **Method**: POST | |
| - **URL**: `/recommend` | |
| - **Headers**: | |
| - `Content-Type: application/json` | |
| - **Body**: | |
| ```json | |
| { | |
| "emotion_text": "string" | |
| } | |
| ``` | |
| **Parameters**: | |
| - `emotion_text` (required): A string containing the user's emotional state or feelings. | |
| **Response**: | |
| - **Status Code**: 200 OK | |
| - **Body**: | |
| ```json | |
| { | |
| "emotions": "string", | |
| "songs": [ | |
| { | |
| "name": "string", | |
| "embed_url": "string" | |
| }, | |
| ... | |
| ] | |
| } | |
| ``` | |
| **Response Fields**: | |
| - `emotions`: A string representing the interpreted emotions based on the user's input. | |
| - `songs`: An array of song objects. Each object contains: | |
| - `name`: The name of the recommended song. | |
| - `embed_url`: The URL for embedding the song (e.g., a Spotify or YouTube embed link). | |
| **Example Request**: | |
| ```json | |
| { | |
| "emotion_text": "I am feeling joyful" | |
| } | |
| ``` | |
| **Example Response**: | |
| ```json | |
| { | |
| "emotions": "joyful, happy, elated", | |
| "songs": [ | |
| { | |
| "name": "Song Name 1", | |
| "embed_url": "https://embed-link-1.com" | |
| }, | |
| { | |
| "name": "Song Name 2", | |
| "embed_url": "https://embed-link-2.com" | |
| } | |
| ] | |
| } |