{"id":25393993,"url":"https://github.com/seanluis/ibm-cloud-sdk","last_synced_at":"2025-10-30T19:31:32.009Z","repository":{"id":152989095,"uuid":"627252698","full_name":"SeanLuis/ibm-cloud-sdk","owner":"SeanLuis","description":"The IBM Cloud SDK for PHP is a library that provides an easy way to interact with IBM Cloud services from applications written in PHP. The SDK currently supports IBM NLU, IBM COS, IBM TTS and IBM STT.","archived":false,"fork":false,"pushed_at":"2024-02-28T02:14:25.000Z","size":49,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-03-28T04:41:01.837Z","etag":null,"topics":["cloud","ibm","ibm-cloud","ibm-watson","ibm-watson-services","integration","laravel","php","sdk","sdk-php","service","symfony"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SeanLuis.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2023-04-13T04:59:00.000Z","updated_at":"2024-03-14T14:05:22.000Z","dependencies_parsed_at":"2024-02-28T03:26:04.946Z","dependency_job_id":"b0247156-5292-4822-b186-dad39de925d4","html_url":"https://github.com/SeanLuis/ibm-cloud-sdk","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SeanLuis%2Fibm-cloud-sdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SeanLuis%2Fibm-cloud-sdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SeanLuis%2Fibm-cloud-sdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SeanLuis%2Fibm-cloud-sdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SeanLuis","download_url":"https://codeload.github.com/SeanLuis/ibm-cloud-sdk/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239040686,"owners_count":19572032,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cloud","ibm","ibm-cloud","ibm-watson","ibm-watson-services","integration","laravel","php","sdk","sdk-php","service","symfony"],"created_at":"2025-02-15T18:57:01.790Z","updated_at":"2025-10-30T19:31:31.600Z","avatar_url":"https://github.com/SeanLuis.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# IBM Cloud SDK for PHP\n\nThe IBM Cloud SDK for PHP is a library that provides an easy way to interact with IBM Cloud services from applications\nwritten in PHP. The SDK currently supports IBM NLU and IBM COS.\n\n### Requirements\n\n| Requisito         | Versión requerida | Enlace de descarga                |\n|-------------------|-------------------|-----------------------------------|\n| PHP               | ^8.1              | https://www.php.net/downloads     |\n| GuzzleHTTP/Guzzle | ^7.5              | https://github.com/guzzle/guzzle  |\n| Symfony/Yaml      | ^6.2              | https://github.com/symfony/yaml   |\n| Symfony/Dotenv    | ^6.2              | https://github.com/symfony/dotenv |\n| ext-yaml          | *                 | N/A                               |\n| ext-fileinfo      | *                 | N/A                               |\n| ext-curl          | *                 | N/A                               |\n| ext-simplexml     | *                 | N/A                               |\n\nIt is important to ensure that the required PHP extensions are enabled in the server environment. The SDK also requires\naccess to the IBM Cloud services that it is interacting with, such as IBM Cloud Object Storage and IBM Watson Natural\nLanguage Understanding.\n\nNote that the composer package manager will automatically install all the required dependencies and their dependencies\nduring installation of the SDK.\n\n### Installation\n\nTo install the SDK, you can use Composer. If you don't already have Composer installed on your system, follow the\ninstructions at https://getcomposer.org to install it.\n\n**Run the following command in your terminal to install the SDK:**\n\n```CMD \ncomposer require sean-luis/ibm-php-sdk\n```\n\n### Setting\n\nBefore using the **SDK**, you must set up your **IBM Cloud credentials**. You can do it by creating a **YAML** file\nor **ENV** file in the root directory of your project with the following keys\n\n```YAML\nibm:\n    api_key: \"\u003cIBM_CLOUD_API_KEY\u003e\"\n    url: \"\u003cIBM_CLOUD_URL\u003e\"\n\nnlu:\n    api_key: \"\u003cIBM_NLU_API_KEY\u003e\"\n    url: \"\u003cIBM_NLU_URL\u003e\"\n    version: \"\u003cIBM_NLU_VERSION\u003e\"\n\ncos:\n    api_key: \"\u003cIBM_COS_API_KEY\u003e\"\n    url: \"\u003cIBM_COS_URL\u003e\"\n    region: \"\u003cIBM_COS_REGION\u003e\"\n    bucket: \"\u003cIBM_COS_BUCKET\u003e\"\n    instance_id: \"\u003cIBM_COS_INSTANCE_ID\u003e\"\n\ntts:\n    api_key: \"\u003cIBM_TTS_API_KEY\u003e\"\n    url: \"\u003cIBM_TTS_URL\u003e\"\n    version: \"\u003cIBM_TTS_VERSION\u003e\"\n    \nstt:\n    api_key: \"\u003cIBM_STT_API_KEY\u003e\"\n    url: \"\u003cIBM_STT_URL\u003e\"\n    version: \"\u003cIBM_STT_VERSION\u003e\"\n```\n\nOr you can use **ENV**:\n\n```dotenv\nIBM_NLU_API_KEY=\u003cIBM_NLU_API_KEY\u003e\nIBM_NLU_URL=\u003cIBM_NLU_URL\u003e\nIBM_NLU_VERSION=\u003cIBM_NLU_VERSION\u003e\n\nIBM_COS_API_KEY=\u003cIBM_COS_API_KEY\u003e\nIBM_COS_URL=\u003cIBM_COS_URL\u003e\nIBM_COS_REGION=\u003cIBM_COS_REGION\u003e\nIBM_COS_BUCKET=\u003cIBM_COS_BUCKET\u003e\nIBM_COS_REFERENCE_SERCICE_ID=\u003cIBM_COS_INSTANCE_ID\u003e\n\nIBM_TTS_API_KEY=\u003cIBM_TTS_API_KEY\u003e\nIBM_TTS_URL=\u003cIBM_TTS_URL\u003e\nIBM_TTS_VERSION=\u003cIBM_TTS_VERSION\u003e\n\nIBM_STT_API_KEY=\u003cIBM_STT_API_KEY\u003e\nIBM_STT_URL=\u003cIBM_STT_URL\u003e\nIBM_STT_VERSION=\u003cIBM_STT_VERSION\u003e\n\nIBM_CLOUD_API_KEY=\u003cIBM_CLOUD_APIKEY\u003e\nIBM_CLOUD_URL=\u003cIBM_CLOUD_URL\u003e\n```\n\nReplace the variables you think you'll use in each case you see fit with your own IBM Cloud credentials.\n\n# Implementation\n\n## **Natural Language Understanding**\n\nThe **NaturalLanguageUnderstanding** class provides an easy way to interact with **IBM NLU**.\n\n```php\nuse IBMCloud\\Helpers\\Config;\nuse IBMCloud\\NLU\\NaturalLanguageUnderstanding;\n\n// Load IBM Cloud credentials from a YAML file\n$credentials = Config::getCredentials('ibm-cloud.yaml');\n\n$authenticator = new IamAuthenticator($credentials['ibm']['api_key']);\n\n$token = $authenticator-\u003egetAccessToken();\n\n// Create an instance of NaturalLanguageUnderstanding\n$nlu = new NaturalLanguageUnderstanding($token, $url, $version);\n\n// Define the text to analyze\n$text = \"I am very happy with the result of today's game.\";\n\n// Define your feature options for text analysis\n$options = [\n    'entities' =\u003e [\n        'sentiment' =\u003e true,\n        'emotion' =\u003e true,\n        'limit' =\u003e 10,\n    ],\n    'keywords' =\u003e [\n        'sentiment' =\u003e true,\n        'emotion' =\u003e true,\n        'limit' =\u003e 10,\n    ],\n    'sentiment' =\u003e [\n        'document' =\u003e true,\n    ],\n    'categories' =\u003e [\n        'limit' =\u003e 5,\n    ],\n];\n\n// Instantiate NLUFeaturesParams with custom options\n$nluFeaturesParams = new NLUFeaturesParams($options);\n\n// Make the request to IBM NLU\n$response = $nlu-\u003eanalyze($text, $features);\n\n// Print the results\nforeach ($response['keywords'] as $keyword) {\n    echo $keyword['text'].' =\u003e Sentiment: '.$keyword['sentiment']['score'].', Emotion: '.$keyword['emotion']['sadness']\n    .'\u003cbr\u003e';\n}\n```\n\n\u003e Creates a new instance of the Natural Language Understanding class.\n```PHP\nnew NaturalLanguageUnderstanding($token, $url, $version)\n```\n\n**Parameters:**\n\n```\n$token (string): The IBM Cloud response token.\n$url (string): IBM NLU URL.\n$version (string): The version of IBM NLU.\n```\n\n### Analyze\n\n\u003e Parses the supplied text using IBM NLU and returns the results.\n```PHP\n$nlu-\u003eanalyze($text, $features)\n```\n\n**Parameters:**\n\n```\n$text (string): The text to analyze.\n$features (array): The characteristics that you want to analyze. See the IBM NLU documentation for a complete list of available features.\n```\n\n**Response:**\nAn array containing the results of the analysis.\n\n### AnalysisFeature\n\n\u003e Represents the features that can be analyzed with Natural Language Understanding.\n```PHP\nnew NLUFeaturesParams($options)\n```\n\n## **Cloud Object Storage**\n\nThe **CloudObjectStorage** class provides an easy way to interact with **IBM COS**.\n\n```php\nuse IBMCloud\\Helpers\\Config;\nuse IBMCloud\\COS\\CloudObjectStorage;\n\n// Load IBM Cloud credentials from a YAML file\n$credentials = Config::getCredentials('ibm-cloud.yaml');\n\n// Sign in and get IBM Cloud token\n$authenticator = new IamAuthenticator($credentials['ibm']['api_key']);\n\n$token = $authenticator-\u003egetAccessToken();\n\n// Create an instance of CloudObjectStorage\n$this-\u003ecos = new CloudObjectStorage(\n    $token,\n    $credentials['cos']['instance_id'],\n    $credentials['cos']['url']\n);        \n\n// Upload a file to IBM COS\n$objectName = 'test.txt';\n$body = 'This is a test file.';\n$response = $cos-\u003eputObject($credentials['cos']['bucket'], $objectName, $body);\n\n// Download a file from IBM COS\n$fileName = 'test.txt';\n$response = $cos-\u003egetObject($bucket, $fileName);\n\n// Print the content of the downloaded file\necho $response;\n```\n\n\u003e Creates a new instance of the CloudObjectStorage class.\n```PHP\nnew CloudObjectStorage($token, $serviceInstanceId, $endpoint, $bucketName)\n```\n\n**Parameters:**\n\n```\n$token (string): The IBM Cloud response token.\n$serviceInstanceId (string): The IBM COS service instance ID.\n$endpoint (string): The IBM COS endpoint.\n$bucketName (string): The name of the IBM COS bucket.\n```\n\n### PutObject\n\n\u003e Upload a file to IBM COS.\n```PHP\n$cos-\u003eputObject($bucketName, $objectName, $body);\n```\n\n**Parameters:**\n\n```\n$bucketName (string): Bucket name where the object is to be uploaded.\n$objectName (string): The name of the object to load.\n$body (string): The content of the object to load, either as a string or a resource.\n$contentType (string|null): The content type of the object. If not specified, the service will choose a default content type.\n$metadata (array): Optional metadata to add to the target object.\n```\n\n**Response**\nResponse true or false at the end of the request.\n\n### GetObject\n\n\u003e Downloads a file from IBM COS.\n```PHP\n$cos-\u003egetObject($bucket, $fileName);\n```\n\n**Parameters:**\n\n```\n$bucket (string): The name of the bucket from which the file will be downloaded.\n$fileName (string): The name of the file to download.\n```\n\n**Response:**\nThe content of the downloaded file.\n\n### CopyObject\n\n\u003e Copies an object to another bucket, optionally renaming the object.\n```PHP\n$cos-\u003ecopyObject($sourceBucket, $sourceObject, $destinationBucket, $destinationObject, $contentType = null, $metadata = []);\n```\n\n**Parameters:**\n\n```\n$sourceBucket (string): Origin bucket name.\n$sourceObject (string): The name of the source object to copy.\n$destinationBucket (string): Destination bucket name.\n$destinationObject (string): Name of the target object. If not specified, the name of the source object is used.\n$contentType (string|null): The content type of the object. If not specified, the service will choose a default content type.\n$metadata (array): Optional metadata to add to the target object.\n```\n\n**Response:**\nTrue if the operation completed successfully, false otherwise.\n\n### DeleteObject\n\n\u003e Delete a object from the specified bucket.\n```PHP\n$cos-\u003edeleteObject($bucketName, $objectName);\n```\n\n**Parameters:**\n\n```\n$bucketName (string): Bucket name.\n$objectName (string): Name of the object to delete.\n```\n\n**Response:**\nTrue if the operation completed successfully, false otherwise.\n\n### ListObjects\n\n\u003e Lists the objects in the specified bucket.\n```PHP\n$cos-\u003elistObjects($bucketName, $prefix = null, $delimiter = null);\n```\n\n**Parameters:**\n\n```\n$bucketName (string): Bucket name.\n$prefix (string|null): Prefix used to filter objects by key name.\n$delimiter (string|null): Used delimiter\n```\n\n**Response:**\nResponse a list of objects belonging to the provided bucket.\n\n### CreateBucket\n\n\u003e Creates a new bucket in the specified region.\n```PHP\n$cos-\u003ecreateBucket($bucketName, $region);\n```\n\n**Parameters:**\n\n```\n$bucketName (string): The name of the new bucket.\n$region (string|null): The region in which the bucket will be created. If not specified, the service's default region will be used.\n```\n\n**Response:**\nTrue if the operation completed successfully, false otherwise.\n\n### DeleteBucket\n\n\u003e Elimina un bucket existente.\n```PHP\n$cos-\u003edeleteBucket($bucketName);\n```\n\n**Parameters:**\n\n```\n$bucketName (string):The name of the bucket to delete.\n```\n\n**Response:**\nTrue if the operation completed successfully, false otherwise.\n\n## **Text To Speech**\n\nThe **TextToSpeech** class provides an easy way to interact with **IBM TTS**.\n\n```php\nuse IBMCloud\\Helpers\\Config;\nuse IBMCloud\\TTS\\TextToSpeech;\n\n// Load IBM Cloud credentials from a YAML file\n$credentials = Config::getCredentials('ibm-cloud.yaml');\n\n$token = $authenticator-\u003egetAccessToken();\n\n// Create an instance of TextToSpeech\n$tts = new TextToSpeech(\n    $token,\n    $credentials['tts']['url']\n);\n\n// Define the necessary parameters\n$text = 'This is a test.';\n\n// The VoiceOptionsEnum class contains the supported voice models.\nuse Sean\\IbmPhpSdk\\IBMCloud\\TTS\\Enum\\VoiceOptions;\n$voice = VoiceOptions::EN_US_ALLISON_V3_VOICE;\n\n// The AcceptOptionsEnum class contains the accepted audio formats.\nuse Sean\\IbmPhpSdk\\IBMCloud\\TTS\\Enum\\AcceptOptions;\n$accept = AcceptOptions::AUDIO_MP3;\n\n// Make the request to IBM TTS\n$audio = $tts-\u003esynthesize($text, $accept, $voice);\n\n// Export the audio to a folder\nfile_put_contents('./path/to/audio.mp3', $audio);\n```\n\n\u003e Creates a new instance of the Text To Speech class.\n```PHP\nnew TextToSpeech($token, $url)\n```\n\n**Parameters:**\n\n```\n$token (string): The IBM Cloud response token.\n$url (string): IBM TTS URL.\n$version (string): Service version, by deafault V1.\n```\n\n### Synthesize\n\n\u003e Synthesize audio from text using the Text to Speech service.\n```PHP\n$ttf-\u003esynthesize($text, $accept, $voice);\n```\n\n**Parameters:**\n\n```\n$text (string): The text to synthesize audio from.\n$accept (string): The audio format to return. Acceptable values can be found in the AcceptOptionsEnum class.\n$voice (string): The voice to use for the audio. Acceptable values can be found in the VoiceOptionsEnum class.\n```\n\n**Response:**\nThe synthesized audio in the requested format.\n\n## **Speech To Text**\n\nThe **SpeechToText** class provides an easy way to interact with **IBM STT**.\n\n```php\nuse IBMCloud\\Helpers\\Config;\nuse IBMCloud\\STT\\SpeechToText;\n\n// Load IBM Cloud credentials from a YAML file\n$credentials = Config::getCredentials('ibm-cloud.yaml');\n\n$token = $authenticator-\u003egetAccessToken();\n\n// Create an instance of TextToSpeech\n$sst = new SpeechToText(\n    $token,\n    $credentials['stt']['url']\n);\n\n// Define the necessary parameters\n$path = __DIR__.'\\audio.mp3';\n\n$params = new SpeechToTextParams([\n    'audio' =\u003e $path,\n    'content_type' =\u003e 'audio/mp3',\n    'model' =\u003e MultimediaModels::SPANISH_CASTILIAN,\n    'timestamps' =\u003e true,\n    'word_alternatives_threshold' =\u003e 0.9,\n    'keywords' =\u003e ['example', 'keyword'],\n    'keywords_threshold' =\u003e 0.5\n]);\n\n// Make the request to IBM STT\n$transcript = $sst-\u003erecognize($params);\n\n// Display transcribed content based on sent audio.\necho $transcript;\n```\n\n\u003e Creates a new instance of the Speech To Text class.\n```PHP\nnew SpeechToText($token, $url)\n```\n\n**Parameters:**\n\n```\n$token (string): The IBM Cloud response token.\n$url (string): IBM TTS URL.\n$version (string): Service version, by deafault V1.\n```\n\n### Recognize\n\n\u003e Recognize is a method that sends a POST request to the IBM Cloud Speech to Text API to transcribe an audio file.\n```PHP\n$stt-\u003erecognize($params);\n```\n\n**Parameters:**\n\n```\n$params (array): List of possible options.\n```\n\n```php\nnew SpeechToTextParams([\n    'audio' =\u003e $path,\n    'content_type' =\u003e 'audio/mp3',\n    'model' =\u003e MultimediaModels::SPANISH_CASTILIAN,\n    'timestamps' =\u003e true,\n    'word_alternatives_threshold' =\u003e 0.9,\n    'keywords' =\u003e ['example', 'keyword'],\n    'keywords_threshold' =\u003e 0.5\n])\n```\n\n- **audio:** the path or content of the audio file to transcribe.\n- **audio_metrics:** a boolean value indicating whether you want information about the quality of the input audio, such\n  as whether there is noise or whether speech is clear.\n- **continuous:** a boolean indicating whether continuous transcription (continue transcribing until audio input stops)\n  or single file transcription is desired.\n- **customization_id:** the ID of the custom language model to use for transcription. If not specified, the general\n  language model is used.\n- **events:** a string that specifies the type of events to send to a return URL. If not specified, no events will be\n  sent.\n- **inactivity_timeout:** the time (in seconds) that must elapse with no audio input activity before the transcription\n  session is closed. If not specified, the default value of 30 seconds is used.\n- **interim_results:** a boolean value indicating whether to return intermediate transcription results (interim results\n  before final transcription).\n- **keywords:** an array of keywords to search for in the transcript. If a keyword is found, an event can be sent to a\n  return URL.\n- **keywords_threshold:** the minimum level of confidence that must be had for a keyword to be considered as found. If\n  not specified, the default value of 0.5 is used.\n- **language_customization_id:** the ID of the custom language model to use for language detection. If not specified,\n  the general language detection model is used.\n- **max_alternatives:** the maximum number of transcription alternatives to return. If not specified, the default value\n  of 1 is used.\n- **model:** the ID of the language model to use for transcription. If not specified, the general language model is\n  used.\n- **profanity_filter:** a boolean value indicating whether to redact offensive content in the transcript.\n- **smart_formatting:** a boolean value indicating whether to add punctuation marks and capitalization corrections to\n  the transcript.\n- **speaker_labels:** a boolean value indicating whether to identify and label the speakers in the transcript.\n- **timestamps:** a boolean value indicating whether to include timestamps in the transcript.\n- **word_alternatives_threshold:** the minimum level of confidence that must be had for a word to be considered as found\n  in a transcription alternative. If not specified, the default value of 0.1 is used.\n- **word_confidence:** a boolean value indicating whether to return the confidence levels of individual words in the\n  transcript.\n\n**Response:**\nThe transcript text in the requested format.\n\n## Running Tests\n\n**1. To run the tests for the IBM Cloud services implemented in this project, follow the steps below:**\n\n* Clone the repository to your local machine.\n* Install the necessary dependencies by running composer install.\n* Create a .env or .yaml (in case of yaml you must respect the name (**ibm-cloud.yaml**) file in the root directory of\n  the project, and add environment variables\n\n**2. Run the tests for all services using the following command:**\n\n```\nvendor/bin/phpunit ./tests\n```\n\n**3. Replace ServiceName with the name of the service you want to test, i.e. COS, NLU, TTS, or STT.**\n\n```\nvendor/bin/phpunit ./tests/ SERVICE / TEST_CLASS\n```\n\nThis will run the tests for the IBM Cloud Object Storage service.\n\n**4. If all tests pass, you should see a message similar to the following:**\n\n```\nOK (XX tests, XX assertions)\n```\n\nIf any tests fail, you will see an error message indicating the reason for the failure.\n\nNote: Some tests may fail if you do not have the necessary credentials or permissions to access certain resources on\nyour IBM Cloud account.\n\n## Frequent questions\n\n**How can I get IBM Cloud credentials?**\n\nYou can get IBM Cloud credentials from the IBM Cloud control panel. See the IBM Cloud documentation for more\ninformation.\n\n**How can I fix authentication errors?**\n\nMake sure that the IBM Cloud credentials are correct and that they are set up correctly in the YAML or ENV file. You can\nalso try regenerating the credentials and reconfiguring them.\n\n**How can I report bugs or request new features?**\n\nYou can report bugs or request new features in the SDK GitHub repository. See the \"Contribute\" section in the SDK\nREADME.md file for more information.\n\n## Contribute\n\nIf you want to contribute to the development of the SDK, you can do so in several ways:\n\nIf you find bugs or problems, you can report them on the SDK GitHub repository. If you want to request new features or\nenhancements, you can also do so in the SDK GitHub repository. If you want to fix bugs or add new features, you can fork\nthe repository and submit a pull request with your changes.\nBefore committing any changes, make sure that you have created proper unit and integration tests for your changes and\nthat the documentation has been updated accordingly.\n\n## Conclusion\n\nThe IBM Cloud SDK for PHP is a useful tool for interacting with IBM Cloud services from applications written in PHP.\nWith the proper installation and configuration instructions, end users can use the SDK to interact with IBM NLU and IBM\nCOS. Clear and complete documentation, along with use cases and integration tests, will help end users to use the SDK\ncorrectly and reduce the number of support questions. Additionally, the ability to contribute to the development of the\nSDK makes it a useful and flexible tool for any project that uses the IBM Cloud.\n\n## Upcoming integrations\n\n| Service                                         | Description                                                                                     | Status                  |\n|-------------------------------------------------|-------------------------------------------------------------------------------------------------|-------------------------|\n| IBM Cloud Object Storage (COS)                  | Allows users to interact with COS to store and retrieve files.                                  | :tada: Done             |\n| IBM Watson Natural Language Understanding (NLU) | Allows users to analyze and understand text with NLU.                                           | :tada: Done             |\n| IBM Watson Assistant                            | Add integration with IBM Watson Assistant for creating chatbots and virtual assistants          | :stopwatch: In Progress |\n| IBM Watson Language Translator                  | Add integration with IBM Watson Language Translator for text translation capabilities           | :stopwatch: In Progress |\n| IBM Watson Speech to Text (STT)                 | Add integration with IBM Watson Speech to Text for transcribing spoken language into text       | :tada: Done             |\n| IBM Watson Text to Speech (TTS)                 | Add integration with IBM Watson Text to Speech for converting written text into spoken language | :tada: Done             |\n| IBM Watson Visual Recognition                   | Add integration with IBM Watson Visual Recognition for image recognition and analysis           | :stopwatch: In Progress |\n| IBM Cloud Database                              | Add integration with IBM Cloud Databases for storing and retrieving data                        | :stopwatch: In Progress |\n| IBM Cloud Functions                             | Add integration with IBM Cloud Functions for serverless computing                               | :stopwatch: In Progress |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseanluis%2Fibm-cloud-sdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fseanluis%2Fibm-cloud-sdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseanluis%2Fibm-cloud-sdk/lists"}