# Develop a generative AI (GenAI) application: GenAI Studio GenAI Studio is a containerized solution to enable rapid prototyping and customization by simplifying the creation and deployment of Generative AI applications on Qualcomm Linux systems. GenAI Studio provides OpenAI-compatible APIs for the following core services: text generation, text-to-speech, image generation, image to text (VLM), and speech-to-text. All services are accessible through a web interface and OpenAI compatible API endpoints. Note - GenAI Studio doesn’t include model files or container images. - You must generate the models and build container images. - Ensure your host computer meets the [requirements](https://github.com/quic/ai-hub-apps/tree/main/tutorials/llm_on_genie). - Use the host computer to generate models. - Use the target device to build the docker containers. | Use case | Description | Supported platforms | Model(s) | | --- | --- | --- | --- | | Text-to-text | Generates human-like responses with LLM for input prompts. Useful for creating articles, summaries, reports, or creative content automatically. | | | | Text-to-speech | Transforms text into clear, natural-sounding audio. Ideal for voice assistants, audiobooks, and accessibility solutions. | | Melo-TTS | | Text-to-image | Generates images from text descriptions. Ideal for creating graphics, illustrations, or visual content without manual design. | | Stable Diffusion 2.1 | | Speech-to-text | Turns spoken words into written text. Helpful for transcription, voice commands, and hands-free applications. | | Whisper Tiny | | Image-to-text | Describes images with natural language for visual understanding and moderation. | | Qwen 2.5-VL-7B | | Orchestrator | Provides an easy-to-use web interface to access all these features in one place, making it simple for developers and users. | | All models listed above | ## High-level architecture The following diagram shows the high-level architecture of GenAI Studio. Each functional block runs as an independent container, providing isolation, scalability, and extensibility. This allows new modalities to be added as additional containers without disrupting existing services. Note Each endpoint has a specific port. Note the port number in [endpoint port numbers](https://docs.qualcomm.com/doc/80-70030-15B/topic/develop-genai-app-with-genai-studio.html#tbl-endpoint-ports). ![../_images/genai-studio-architecture.png](data:image/png;base64,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) The following table lists each endpoint and its associated port number. Endpoint port numbers | Service | Port | OpenAI-compatible endpoint | | --- | --- | --- | | Text-to-speech | 8083 | `POST /v1/audio/speech` | | Text-to-image | 8084 | `POST /v1/images/generations` | | Image-to-text | 8080 | `POST /v1/responses` | | Text-to-text | 8088 | `POST /v1/chat/completions` | | Text-to-speech | 8083 | `POST /v1/audio/transcriptions` | | Orchestrator | 8090 | `Unified gateway` | ### User interaction The user accesses GenAI Studio through a web page hosted on the host computer or through API calls from third-party applications with OpenAI-compatible endpoints. ### Request routing to target The webpage or API call communicates with the orchestrator service running on the target device (for example Qualcomm Dragonwing™ IQ9) and converts each user action on the UI into a corresponding REST API call for the backend services. ### Orchestration layer The orchestrator container acts as the central hub. It receives requests, manages session history, handles multi-turn chat continuity (KV-cache), and aggregates responses from individual modality containers to present a unified experience to the user. Containerized architecture and scalability Each functional block (orchestrator, text-to-text, text-to-speech, text-to-image, image-to-text, speech-to-text) runs as an independent container. This provides the following: - Isolation between services. - Scalability, since each service scales independently based on use case. - Extensibility, since you can add new modalities or models as additional containers See the documentation of each respective use case, for more detailed information. ### Text-to-text This application runs a text-to-text large language model (LLM) using the Genie API. It provides a persistent (always-on) LLM server that supports the following: - LLM response generation from user prompts (text-to-text). - Preloaded model reuse to avoid reloading for each request. - Control endpoints for model/session reset and model reload. - System prompt updates directly from the UI. - Conversation history that allows the UI to fetch previous messages. ![Call flow of the GenAI studio components and how they interact with each other in a text generation use case.](data:image/png;base64,UklGRpY+AABXRUJQVlA4WAoAAAAQAAAAPAQAzgIAQUxQSDwAAAABD7D+ERGBTBhCA/3TauBdRP8nYC+W//iP//iP//iP//iP//iP//iP//iP//iP//iP//iP//iP//gjNwJWUDggND4AANClAZ0BKj0EzwI/AXa1VqsmMKkikQnKECAJaW72hd0fIB+lHXK58rTNFePf8YEd3xojQPbO5VFmqjzGKePcZGX1Z/nFTOqpqjvPn/xFe84b6r81/7/+1+vDwK/peEfmKBD7TtSytz+mPE/4t//vqBeev3w9n/8D9qu5i1L/l+gFdj/IeZv6Z/pvYC8nf+R4LX3v/p+wN+qPVl/3PJt+vfnL7s/+8////WFaaiDzBdGbw6lucjVnuP1QZtHlixGFbmtPcrWnuLksrYl6/N84lepn0/QXRm8OpbMYY81Ml+Jda9+iAYYOdMMHOmGDk7Esa1PGpGLHBzphd76QKNdLstBgHHp/LOD3fUN7b6JwJdnBlWddjfLWL57uJBU/qEZpjjDs6BHomCtgVIi8lmW33F9cateXZwdARipMf1j4bcg/9/l6qWtbNWygzo7Spa8txycGKXbhYOn5VHpCGvkFy6KH7e3y4D6OWSL4VKSqgu41DUwRcfLockw6HRIrnuzbmhvaYrIGDQjjS8eWinBhCAkZsPUIqJOWVP6IBK2IKfohOB+It2GksQjd5luYnrXgds3Qb73O44dq8pNoYjPm5KA55qdRf1Z+3czG1bM5SKyn+KwCqggw89NZKR8plGuLAdYIqY7IXi66KH/RJrjAW6VCCNNIAXkydaF2GotzZ67BUc9g8oCqogAJHCyJHahzPMMHHY5lWDT9jcguuvCjmLLNP6J3x3SQP+SIuMTulsRqMKcQMdtRopDGXszLbgF9lrHBxxPmLa9Ho+K/7CaT9BdGWl1pgpmZuKlQ8/XiWIKyl2yAtUtuFXoOy3gAyMfvjjRz/keURZKNAnepw1vOuemPlUIXyUkCJpdJ/zZG/+r8EnP/UEvM6KnG6EJBSaV5rBZ/TGAL19XtWMDHfAW3DugodUZ6gm9Wdtbqj8yJw4ocTU+34xJyIb5PbpWkLFwEmJaUUu7EYAJiVYbcDsGVAkZ44ORcO5cxvpYF3BREDD3RgtLQJGeOKsIk3VGwfUNkEoGIEi2ga9e+E7TyZ0dS6mXlg82Aj+mNtG7OZj67i/4sOIltzj1Jh3LmND0bp+5m++FQCibYxvlsSTnT9y5pKQZa8GHuoHE5xbuVENjO/dNd2iS/ETYpIQJGeOHtc2hIzxw91AYyA7mozv6VYz+mHcrcjpS6GvHQw6D/43MZSmg2o+cJcYUCEjPHD2ubQkZ44e6gaaOYkm6otRzHIdUZ40hA3oOIe6gSLUXWD5XwCW1T7kJUKGGSGwVRHC8Ewy0se1hKQ1QI2HtuOLX5wsTqDJmGe6DU0Pwpza9pZKM8cPdQI6G1+bGN8eScNjG+XTz8CgBvl0/cuIaQfDuNfpP5MmErdXrVwcO8yIRzjiW/uAv1k/deqCuApkcLasTRpKdP3LmN8tiPgNNMO4DxFqPdQJFqMGmmHcuY3x5G7vl0/b0p8Sn0cHuCLgpsBi+diymMT3vKc+s+jFgg5tq5OTRdLDLrCXfan7lzAUS6GHcrcrmNMO5cwFGtNMO5cxvjyN3fQAb5oKUGoGuiQZz8uHPJ+0bBZBgXc/Pl0/cB15kOqM1e/WEJGeODkb2EJGeOHujBMaYoQXuoEiqBdsF6Sf+nwn41UKqYdnjh7XNoYZUCOh13XDuXMaHq88qBIzxw7oMpdDDuXMb48lybL67wZW0kfqiYnC6LAZeWQkCWJK6HNIxw0Q0WVQoM/TB9j2Y/QEJGavfrCEjPHByN7CEjPHD3RgmNqjG+XT9yrAoKk+2+29hw68wXPh/QlhHcdgSIrYlXKXTmBzm9sSbcYoAzRWcdDCfjveOhh3K3I6Uuhh3LmND1c7PHD3UCRaiy2Mb5dD2mR3Z61V6p5a0vQOr8IDgEi9eOpqExNGcz3y2JJ4Ab5dP0kKmI+XT9y5gKNUozxw91Ajob5qgSM8c5DJY80SIcRttTnbyIR+sXsafuVuVzGmHcuYCjWmmHcuY3x5G7vl0/cuY3jmOn7lxArqJ61p85ZO7/8CKLccD4cU1PrTa3Fd8mvcANmGDnWg1revW1HuoEi1GDTTDuXMb48jd3y6fuXMbxzHT9y4vdE5eBnMYRRoXumbQ5VC7ZB1yeAhqTANUSt+n29mT7o5lhKAUaYWj5K3M1S+C/eo5Hp1tb1LDtok2IfechdKLyLTCc4NxzYjg2fvkCZ4OWHrBhFna/TDuA7U4BdDDuXMBRqlGeOHuoEdDTxw90KreuGlGfBCkBAhg+hWP+8G4LoYdwHanALoYdy5gKNUozxw91AjoaeOHuh7Q18L3I4mqBzeoCHEiqMAy06txQDav9MqEYQJyQQYRcFF6X8wZS6GHcrcjpS6GHcuY0PVzs8cPdQJFqLHQw7fOMhfltPOnX7oi/fje+AYiLeW5BSpXWgZa5BCiQ6ozv6QZPblzG+XRpvvQw7lzG+WxHHcuYzRfNojGkjYqCXNA3ZHnywptvVJIcswdELV0yct/R0AtD53cQ/6kdy5jfLYj4ClGeOHunusnlQJGeOHujBGozxwVfkkV0WWiHQGXGZ0ANT/ZB1mjixgrfrLrUOZUXpKAGJJNbn5sY5Tgx7vl0/SQqYj5dP3LmAo1SjPHD3UCOhp44e6Hs5dv5eRydpvLAI4Magma8DsNmMJg7MY7k2+X7DCpkkRgEiUEWdCuLFRcQ+DRpIwLPUWt1vLHQw7lbkdKXQw7lzGh6udnjh7qBItRY6GHcB4HLRfHu0Z8zW0QTLH2GChzQxpQ/Pjxqi4dy5jeOaByHVGeOHtc33oYdy5jfLYjjuXMaHe3P/rUlOYQ/rq57T11AkWn2jWmmHcuMNfEaGHcuY3jmgBvl0/cuY0PRun7lT2lOStzxuhO+ZHh/xg5Jjnw6S6ev0tWt0ewsmPXAXMEG1PvaMXNsVe7tCW4bplItJC/SNW7x0Q8fmxjfLo035sY3y6fuVuRyHVGeOHunusOzxw676Aiv+EoeOfzYOj66hOJh6aXl0aPneNIECJN1Rnf0gye3LmN8ujTfehh3LmN8tiOO5cxmWQQevvj1K9WSYzCgEOqM1cYiRCpk7X6YdwHanALoYdy5gKNUozxw91AjoaeOHuhi7cuJ8rfdyeOHc7xq94AA5DqjO/pBk9uXMb5dGm+9DDuXMb5bEcdy5jNhg/U8HJdWsvdM7OauMjNzjml5uocgbMMHOkkoB4sq1IOoOO5cwFGtNMO5cxvjyN3fLp+5cxvHMdP3LiUoKkbVF/MlLv/wFZZAn0Ajwhi3jliiZCsrqQvIvkZqwnYDySaxDedjD+Umi2BQG4TillpAqSXjar5yzO5qM8aQgb0EjPHD3RgmNMO5cxvl0abQkZ4474mpxcQQ+rE2Lq+ikrmLSy0TO5W5XGozxw9rm/NjG+XT9ytyOQ6ozxw9091h2eOHuoEdBXzDAErehsK21LY9HEzfLo035sY3y6fuVuRyHVGeOHunoQuj1EqgfoeCGLPI75rZ6J3QTJ5BYECojgZGt4I6F8DGIigRkp+ThdZIGg8TFCwOPvdQGMrjUZ44e1zfmxjfLp+5W5HIdUZ44e6eUFcZLARxWrB6g8qLWLwDFOsIVzkqe03+044qT6sUxBEyC4KuEqM8aQl1c5jfLo035sY3y6fuVQHm29hJ4rGbtbbXhuUkbGGuvsTgTBTManAqhin96aQCMyPRZFBpUrdYFpy2E/AEJ73ABiKsXIFIT1zJReuRgPufi0QISNw4eR8Re3u24ZTD2axn2sj25cwFKKfuXMBS0Bvl0/cB2pv9kyIDoYdu9wonS/VBLBzgvUpodh8NReUqL+1LNYuOLDdcJ/EDmxyheB9QEj1Bvl0/cuY0PdR3LmND36whIzxwR4+NEp791N881TnvMsCVTHWQD25koJq0TMWnhpsgtLWfCFF3hChBd4OljcR1Suhh3L2mTeu2gkZ44e6e61UdDDuA8RE0QTxLBdGbv86onw+loowLYkfoG9E4d5GvSAs7AQYvq3/KTXazFama5wArNw5Hy6HnVcHOk5L8D5SZWtMuJ3odsBRJjQLnI1Znn0HKPUtzkZ2EF0QdEHG1h5wd0N35duLVEBxHQfQ/CRM3ZQ64SzpVs1RBo6sH6d23Xo3RmDI3Hs5pIhXO/j1PuxDA1uQws/nSwFONESqZldFqqI5Dt9FmEKXOIQzviBp/nOQndjg6TqWQOasLEibl6D22UFIjthBwjZtXPN6g49UkB2BieqRQGhTe+0jSoALBsNKStLEWFbfVamKoLgFvfYkw6hbVuINOxQAV2tdaNtFCtMCEcTyeMZZm6ozVIqG4DIDGCPSRRsJb4sviDxBgw/4K6KA367eejbmSYluyCeUXblFuKQJkD/nLwACwFbkjTlRC6dxO+iQACbFTb9KvcybJr8AgADZ5nqYQBhC7zfkHKJkoXNz8JpTDA0pLWL7zZvzUT8VVXGwD7L4B9lty8YYoPblUq9gYGlL4XNz9e/r5hD2yu4sxsWm1xUr/z2XwD7Lazyh+sDrkE5uNlVK/4mC+aAs1Br4AAP7+0kgXtGDegZC2z+U3vJt+8GNNLCiQyTt2eLG8PAa4AJYF7I520yazOJ3qCZZ8ZjLUFXk3cZN23+gXS+sUSY7CZ/D2EruRRxrJy3e/iafY8ZpGisNKsGirAhHtBJp/CRH9nICFUGnPqOL0KgypnUhn0aeYacGOVCkPWD/6Yzmg1XuE8EkoxXjvqdc742PJu4yayZwsKHhD//mZxCBno+LCFSHALyajU3SqZGNXV4F19vFGjP2ftFr1Z/Qs6zVhEBPeaMNlkcV3rxTWSAdK9T9le+Jscd6KMsTtwVMaAAV6ekwocsd9wCeWIPooRa6OUVePLNv9V5VlON0QlTHEyLZmvi1nDzJaocQPA7YMqmQX54HdKLFMHCNXR+2i56+NtMwOucZR/DlrQGj/EEU82/hrKdRgafMKzC/WY7TT6WqWA4HUqA5mNFGMBVHlWcbg2gi3PzMiNi+S3gGjhDoTcxf0SB3BACPIP8oURbcBO18l9hQB8JCh9CEggiWu6zT5tAE3HSz8mi4xbQMxZWu66SVN8Zl9jsN7m6HfLlWFHnVcjUvWyo0pr8BYfB0Imps6+wSo2ipKG/BjMrl8ftAcpHL0VWYVsja35iojETwcUg8V6dLk1xfPmdOwfzQaLByyaIn7ZGmbp8Pp4RdJzwhsLeG4hiYB0VH4LoOgsJtKT9I2jwKPDy+dbJ1jDfzihkLdR+GEBWHIQDly35G9FJZJ4dR3YR2zSjfh3lxIQwd7XAf94dOX76uipTOXLwHunv3iO1mYM4k6xLA6Ixr89PVdA1/sE91k49ZAIaHXyLZAd1saWkmOu2tZ8YPtncG3sE02aWdLU8SMe2XNLH2Is8jDBKhh3ip5At+2w+bvhy12K1KKOA/ek8fMQnD2qQXaCVSOP8yGkPh6k+BqzCQwCjBEP87D3aVnFYM0mTPPnpjpvHtOUuj6g3R+6H5faKmhRnbQQegr+jADIYjS58IXYX+mjWRNAOI1I+gwHuCHXeGDhYxxZmuDp9xs0gJkBaBAGBhf7Tfd06lJyl0ikRoLlo6D37eWsZNYjgkEV7dm9DLAReNcjPIztV4tFFaFGqH0YltQZFPn5Ed0eADw6Eglel/wDhMGiImUldz/cNyCGr3tAOGosieYr+17MbAclkGs62W1m75SEVfCWPGFYQX/UzhlWj0lumnjTbYgndW/iBhyrp55Cj8H6WiIUwe53Lh1BjJKB3tQ0hQ6R3icV7btM02Dj7+gs5F+tVjTs3BmBO5qN6cIuY5NmtYBfDZq4hKfIIeX74T/NMtOydK9axYfylzSxw7OBWQqLAKJEE/cbWqonMmLQSHEvqYywdOkzAdsVISjtZWQuNM82WU6fjqLFPgRBS/ESX/kvAUDWslYNw7qvsFbzwEE/M2kEqDb8ZWXrRXGh57/paMISwZn3ub1Shlf2bQDKVK+Y10nojfokw6sC/8GvWX2oEoN2NY72m1t7/UTMabcez4tpncKZhljViH1lPXZPS7RxirXKgdBR7QM1x0Aql0gY0rnQryL6CzGpMCokkVd/AulXP3kU5qtBE45LAQH3pwBaJUN8jHTN+C+Ilsy263nwm4PVrIa0qr2hevQAaokrw3sGjTRvMT9bn6EQFwEtmsF9Tfp3JeZy+g41iCEC4mARNqWU7Ov6d6iTDm2T4FSXCYp5yPN+ZXynsNPUFnSLN7x/dlLKnXu7hM1mYgtgPbU61GcRc0SraLTGqaB2aGg/BePfY6DWUlK7ZXpg7+jqw8ZVOcGyqh9BO1tMx2qpHu6dZWv8EBVjdIhxxPrs3rGhF+Ia17M1V/0o8EsYZY+R6DNxaluqk8+b7Qphz9G58vu5QYdBpeyqgIk80xFz4986tyo9wHVMEsv7KtIrlZIHyRs1ZAEQlvWP+0rWiYPEAsMycOWZhyQram+AiFncf1AHLCyroxIiDXgf17y7pLlC+3OqglrUxedPiZRm2Da5+JO+xXVmrePtquRJnSjg2L7JPc5m5qUDYuDx9/az9Woqhh2x9E9GEdPVNDjqWd94wVm14xIrligwe5RVwgjBxUSEeDH745UZskAzTqtMl5ka7TpiXrEQBcw0NHKplbYfzECYa7yYPBLCawEbPV0sR8OEd2Y/2DbEbhpB33quL3m999UHPT8VdzzqzdPz2ziJRrF70vMF4oz/BR2/ogy0awt561uYuEyu/OpmehC2rTPPiatj0SuvCvwzsJGV4gG2WnLEH7dNeYKN7vd+ly0vatD+yrF4dmAw6RH/iet7WkM5rnpG7vL9109WNHdsQP8fj/DGR91RVIe0vsWxdU8YGsFJdErck/t5MYPCPNO62MCEBE83efyjTwpz8gcRIGj5o5jbcPcYZLfIxpJ+kZGYGL/pVdGG1/GScNkQ4HFMZa5n6O+ejMZej8lQ95Y2ANq6oI98O0+3KYoxXeB85xKf6XOr6XcPRBbBf4xt1OlK8A0cK1WV4qReD+efmTyidyOp5Or8ci0GONsu1EhjemwJwGwZqdRbzi9C4OZVUifH63UlfnjFocKfsEzNec8Fdwcb414gLOrcFycH83z+ks4WJly7lo1/tffwDvuxK0SBse3F7VcwfylbGJgfF4sa9kaX6RkRXEZ7TQZYdVo+8LWtmwiGrX5AKJsj/hdi4uQAwWwq7ex+dKtQLppiDPLnaDsU534+le83hhbTgUljPlL2UADqGxLsbi4JOVAtayEooTPm0QO0RMS1ZZcE6g8uwDH6Eylxg5DPGndaEUKUoCCW0Sb47M1llMGmcjKygw8+xnov/b2ZAoYsmX+5bOEGRYcJYVozY4nO9FeBtRHZaX2UVwBNajdtg2PJPnfpLp++Ah4GXOt735swRAkqjJwti2qZZIJkj8uOaZRjvOtL0Bb9D3fyQfWQx7aIpOK/JwJAz7747cIJxJlIRL3u+2T/3kHEfIdXbTD3lAFbENVVoSrkfe1jI1lA3My1cWS2f7n4wu9O6hB4Ku6aNHckEl7cZcTJ5B3PXPpUPhz2VMrnDEFbCWWK0ZeHGu7RfZltuC9HqLpNtrYF0cG1A+7nkJhI+zEOcZ3fWFqVYua+y0mGpSALfnV/2pgQbapZswFzCrw4ngjzs80D0R/n6iX3Vza+Dr51McsnjnzTDP71hpKk54Z2i1EsLOu/m0R3oHozHQ7qCOiyhHutoHK2PvYJsok4UR4324XI64lKEwfOHTM3kZ5lsh3C6iN+O4wRlHfdw3hVKyN0nuKrdUigmZUWm9L5uzy7eJ6rfgCuhbGc35QvOpy8yrxJqGQLp0CU3Pd9ppK0+80mHzA2YtS6jFyoV3iljU/ngKLgATYSKZX8fjo2TAMJELcAsNDtb+UK3gjLD5jWYTpq4hEEBYUUurG8O0Tk/KOf8UUV0XRY5vb4k1+KkqFXxXoyCZO0FNM8oQBWX1jzK1EAEwgolyoih7DvtSxcoo+J2gFze5PyJkNm0WW36J7w1Kbx0Ixx6gQZwBi1o0MC9ErYccQB3ShY1RnPFEfgOH8rDCABK3vTpqJ7HXNuLZsUPKGOBsI4IAG6jI/c4d07k+QB9GX/PKg4EsBzzpA8rgAqBOlnyAqTq32GS8uctMt1d7u1M/84pctVFKD0gf0LsTXkpVdk+pPjvOsD1K3RtA/v0VHr7r6aEueLm1vqQMKDGgkhfBzykWkutV1FLFaDAFKPtY85s303xNaDV0a9X5nDChhIbk9Fx2eDsXfeCbI0YC8kRO9htKeZDCXmxvPS45Rl+W2Wbwso6fSihbz27q6Gv5qbbwwkX7NQjGfVpNoaQ3A0ashlZuaaGSCIxxMLJY46ia/9PJQ23akwwxU+D2g9QynKEzq/hOciIDSLdY6hu+y3OvRo+nbK8/9Sz7eoqqvsufoHbogANMNCoUsUeis58nllWOzzzRo8pKu34v9iEufpWqe5MlcPy3AMDH3b0h/0UMh2AHbYWkVUQ2YgC3At/+lIN4ONwMR9SziVmBZhA2BUzb60iFVs9Yt6ArWDVdK6E02Pea8kg2TzTS+r+sTxTvtiI1mC5My+DqlPDoxBxfNqDkl+fAb8BDo2x9SNrKgolqfhR248EZJrtfUjARAExJtjVGc8VYU7cST7o7eF9UmNAP6kfSH3tb6pV+jdGD3joALH4T8Wk79GgMKugpKemswp1T1d5nWwpgkYddeITCdXMgcrks8baxjA0z9TsOCLbz9FsFU0qPUJW94N7KKMBafR7gzzzCIAjnY5QJGpirUbJqCHgjvx1CmXrW3j/HTEYSdT8WLJo8eNePJoj0QZoyiXKikiKqDUAoW7Z5iCYaMWeIB1xT7fJM4Q01dsAGI0+18AuUBIbsO7F5BrnKXsHxZLJlXpcwEwzjHPTOjUIPARkx4AKPAKjr/dmYEOtksK01fCdjZOhGkIgIFRQ8iKjLlOkunggI3ykgZBIZfwCZ8+ir9U1hIHYPNue/sLghUJtfKo8TW9silqBizohkCeT76wAVfEp7SiaH5gdjhwSqFLa+P2Z6tduNMLw3GOB+e4jbkurw4u+WxYvvlOaPMkBL9/ELYfieeCyxReqMw2RgBXxf69ai62MqeE58i8v07PFUUxGkDeu0SGW5DUdb0f4DWPStUd7xSTrheFhje2sIAwoT6S9LLsSVWV8ifSgxMdvisSV0ISio024xVibHnUpGF3asG9k5e+G2RK5hJlFsQz9tO6clUUIxjukWauvcyW4JgzbOEgh+v/2avhSrSUgF8Y4PakODj1O1OYJg1eJt27+DE3lXB/nyGORLiEmgglyopIl/IcITWTbStf0Ot2kAhNdCdRL05fSGQN8qFn0nNXptusv7/UlYyPOWc592H+AXGZDLKIVcxokSMjINxCW7iICR4UANMUzGqM54qzK58g+vs/lOL8KBQp+PwKKxbrmT8LDX+3A0QFuG0EhuUS2awBUB5FbMuGLHGpGmn41RnPFDgpErinpuZ37m/zKXk+yfPtH6pJUN78HtzmIAjvukycOUvi865Gf+3hZOSQlAjHtelJWe/kqoYy8W4FwSU8GSLJRL7vGaJb9WZPcVhqR58Yg73NTt8l23WXDHIFLdJDLuHhieO2RvjDIqwuPb3wQizDkSYw7k9S9jjFim5aWX71qZYa962FoupveRQOKzKFfY7mAZdzYF47rXf1Nsw7kD3nOhV61TFACCArodNupp32dCr6KDobDljBYa5t6nT/2v8LlOaD8o0z73xYpY2aj3RJyyEsoLRt/bcl5EgZObTYNsnNZjVfIRFSdu0YFMWOWDaUFvPCHM2beXMVuiGIsqf3J9C4dupUmt6WFTg32fIY0JgPw0xb94/dPGjyGHO3mpd8Z8tGp44hZJBCBFQ+bOTq2mQsqDWjON4A+mnRO/O9GxslxBWnuANBDM2lgw+GnNsiqdkQSwyu5fj57EDvJkWKo8tMIM/RGPDDmZLfZSLbv1cxgUsx1K09ItT0jCMwyOnTKs7rHvUX3ubrK2Sxhi3EMJoGJBVXG07bjI8AY9xM4TWtw76Q6dcYUzGqM54oZoYME8PpSymPVWxmzxkjzgkcBm4Ixfpl2cHEBH4Ass2O416+BWWlWlZaljceD9C5Ia+HaTefdB1ZIMU4qBrHSy/y7a6CIMT0O1ECNJYrC+hqnIHSBEZiyKW7jJWzrd/MNna9s4euVydYNycVIElGChk8t4xBGGskx0ihLbqa3YLS+5btChgzIGwsDYmp/fOH6OuyL41RnPFDgo6cVnb3nJgdeLJRQOtNIT9MrABR+lXFoKiiyNK5VUA5xU3jxzPklFzhNTo4tpv8S9cNAYwuRQrxLftgQIrcIhm6pkHW0Kxu2FoDNFiyKQa/x9/4XOZXFw2UhCCYyZMVk+5bsocYn1F04qfqTK8o7R6Jp5TynuiLNyE92i4EKsW+ZihEvG2CPAxEAWMuXXwfE5LChRI0umwmFZzpl8iOnkRs4/lpbXFN4ejYnR8qplGxV2yge7KCB8nL6G5qesh/SLLK6QYKYqDnfLZqywGI4tHRd1ICEW6AjTj1RNC/4qGtfUysipRl6gH94G4BfQ9bM9J9S5YVQnjeqFKlesyRItqiuEYS5UUkStynAAC3KGm2hWWL0xP0HFa/4Qun9B1xOmTBypz5TsauS7fx3jSr9/qSVduVi+qBdkkkTkiOI8eSV3jNvu1WEKcxMuC2GSRCZ9Pi/pXFczIM/GqM54ocEBbumgWRCuRIfvRmSPthItqeEl40p/IrmegPFLtSiJVKCahZ2iZ3WY6oTULc+27urBNmKC+l/T3bfL6P2ecynIZYGQN6K7UYEQvW+i8lJs5GVSBb0pCtV5A8pU++X/HE2JjnXrD/PVYSTiRpwCWKzMxhzg0h23cvFtXSbayXOeJWMw0ekESBkNeIrrB5ER9hX96+If19tUTtttz/kexrEllIQjKelzbuEuvFLGQ+F8VdxWdUchweueawsrtk28vXEnN1G6dMFJhNneqqo2AevYOi1nAg039l0LFEA6zFuYw1XW9TeNvO2GQHZdOSYGQHay/aEeE92apbYJjp2SOvupGgoxoYBWe47xnf6lAehdAHIgT0MCbF2Nw8piIPM97hylPuxe03QiNXz5LCWXDz/WyEuMac1LC/sg7MSgwILzZf465yjypC5Rat/B+cDrm3hA6PxI/oj3uzbenpaIra925dKHT9LNUCgwsZ08+KScPhZLAWWQCimwUCZEDZDWk5qlxmyHFKUbQJZu4aoESCZ7oUxa9SG4hPTQZNibPv6FA8jceFDNlHwNMeLebQ2wJ9/N7y6Bqq83eDDyo7ppDfpsX4yRekZJLhLSSCfnj8R6v+bPl7c4fozzKgV95bFcFod66DuXY0DrXJGAC+u6hRwjkuwy99feEyKG8p9fyff1PtATazjWE3G+pM3C7fqutKl6+r/uk1cGUMtQg44CR+wCiZBL14EPdpCkhDqUpuSUclzAWQ2XKAMKyIIEZPqPXHzcFETKBiOa1EaNg5PXbI/gG6duK73YCOR/FXe5B3wWUcxlyt5zq+/tUQpxGIN49/GtrgSTLyqf5M3hsYkGoJlcUZUvyugV7f82AmaTgNUAGWwCWe+hLIm/WM+EoWI+h/JL+9lqg5tNtPXZ3bDu4mNHYSnbewgnNE2q39oO0ZscrQ40356GZOtUVQj7HPEqK7F8B1jdLpBWOfoGYtE48BqDEBr0Xx/JX3MpZrVLAA7v155zFyWqUBp9mel/ACHIbfQ0FX15COPz+UmwK4zU4mw2g83uZ67ZwFaBRXzvLGvT1RGmdiV0QGZYuKTbvoWb7fzMwMf3tLE+uQEsuXuPfMLOdRTq+sk0048uz/8NaZg0bFxak7DIsAcGKWHL1jVXZlWfpo7CTRak309hhMgMgBGgjCLmErlRBnOya+xsoRzpNR5c5ftpPv4Di78ELAT0ihI2kvmqRb1StF7H/imFNGIBBUb39AafkwV21/F/teJK23m7CJg4EfnezptRqTvUnELXmmTKTPut3lzcGB1eYfYPGknf2uud5TKvTb1eZJdrJ268VWdD0LO3PDG/DvjePaZH+pPbO2NUX6GDkzJh3MbqGtX1zTj67wxXUTvjrzVRn1S+W/2B0H8hwmQv7z252HwfK2pQrafvzV9w9tSiBpAIbZw4BOVxn+Uie2/fggFsyRUdYAUErzC7IcUVS4WSQ2uBTpE/Dz/5NUOrXSI3S6nzQ3mXucMTWaCXNYnGtoKQcq3rCDN+t+buQt7zPHsbyjTXk3Jvm1n0HGE1U9agPUmfsGalTYgC/UpMpc2Nc6076cz/bP2VU9Hsy5yPOzsOW5FSPClnbPR6oTESuiAwmx81j9rvnnwnhUqZBQJ4TXnlrahCNofCkZn0lceCASFZuDQ4b/Qy16AiYvyho/vyodOxB3A1HkPc4wKTekoowZZxhZlYPVhV9qNcFpHn8MR8IfzOIDzEStynALWDZqpqZi6+DcHCc4vXuo6anl1HWqpPG94SjceK9HflYc5jRKl6oLHZnCZS2/aLTwd6peXCR7Q1NigSlEbVPoR57WOQ/zo7ASevakRa4j9hxQeim0RT1CsuGIVcjOQKD/xB9dIt2TgS7ZEiKaBwHGAtX7t14zTs2w0kd0Hf1/5IsQGxDrlQXw2bav7hAuVpZ7SVo79mokzHeJYuoFwvA1RPAKQOQmUR/xjiSpkUg5wZjH5VzcifoCfPED1ZRWAbdx476pOtQb+OU9immm4zGUEPrW9qtv5cHn+uNSAkYr4RWkNED54u/yF0siS3gg76Y4+RSqiy9zh/dsUOCBGs5qEWO7GoDDGy5+V6MZ3Mn/6TpPDQ1CitZAeL4n/gPNjEKU0IXHzt6xBDBixBDJbonJI6EStJsPbQHPgL9G0BdZo7rAg/Uo2VSapdJKhe+wI7rAg/Uo2VSaoCjIARtJZqmoybIDRwN9TLWTZnBoloW/XMqHkN/c9YwZOdll5waasvqDQJI2jz12uz9DLzMVlRAnz5XXzBjDKbnVQ+BrQiu3eIV0CXGzES42YiXGyoR8j5oGulIF/Q+JwNwA+JhAERQGt0akWDlvbm45oH0kb873DsMWHQCW/VufgzDek8twO/vO0ur2kVwrtVOt6xwNKi6NqN3EhHgoxoYAzIMgYX/vTZ4p28svFhjWK7QP4npW/Umf6JwKVx/mkBj6WJ9x2Z3iNzrNRS+h9bJUIdtAdNkevbQvBMf+S+e40Q1vMKLZHe1+39JW02jaQUk0VVrHIpfFIPAo/Fkvfo6OB37j/RIdkaKS6qzjAssdCLGX6ipuDOv8WT6uWAe7Z2EdmLZWLeLyjmVHIppzFrp4suCyahvEmZTXTPQ7oVd4VQNxFDPTz6qR6aeP+kf078OLc52blHFuyQXoBMF/fD5u6GN62hLuyHJHPAZXIMMdCMPEKm9h95UVce/3GzUpIoalZVuwx/hRQlUKx3KpBfSmoPgWKqJQ++KzIfh0b5jKucLA24ZFd3hTRrhoFjr4tyPe8V+peLpskC/tZpNIELVmrbJ7542oqutWA7ezmV6Gb4EwQ6zec2493nkLGAZcUK2/zJsIUF67nekdWfhe+i3g7FtFdMDBtkl8iBCzqKwImVPaeVLSfZzJ68gdjjjYZMiQZCg34SnPFrvMkPLjmH+X2yARFx8+SEdG0wFvr+VMHcFwKH5Q4dBQiB/H8MGiYvyrZqXgSiUrIcBGCPZUgtJ6jNRM4neGqND5GjJkk8ZrY6oNTDKwbhwZNZCuRQ4IEP3w2eqTrxcO3PNAmT4qUq9pugup7AmCwiUHrk6npx29KDMSWOiUbUX7ugqiHX/b2mwVa/hW8BvCztUgosUvpsd2FaNPpJqXcqia/v5VIHkg5+ar03GTp4hIj73z++8Yjyz22s7fxItJylZFTDCfXTlFxxQzQwB6H1jmrLafJ3uUMAMpzVY+Nc/WvQBnp5trSkPYADqNqt+siEqSp6ZY+FN+shcSo+pyRRGYiV0QHoV1tJ8VrAhND2g7lyIX0V/61ktlCzLAi07cqlxC+1RAJx4DmpXYvSImmAHgz54WlYo4f6ylOiQ21DRXuyptjiDNatLOg8mShUK8qw01a4ekzTQkUMaOTeAwhRcdW4RYqIdJAi1NbuUKEU0NK4HVoJMpoAO5WkLXkGYMxSDTCoZkvCEczrZUZlHyWRiDLuv5TvkvOH1NPaSiSboca2ZHiID/7nCiwmvlGztNgzP5L8nsNRoiTSO2MG5Bed+HIDDs5qFKkEEB0uLOLHZ9DLGfSRqHy/8xd8vC/sgq8YTfevIv8eRhZsNCUuyw3HG8oJIBjOFRix3ErmcPXBPDqARoY3J0Sy5Q4ArxBFHcj4QcowDLFLjWwfqfowSpdrbkcE0cYZQJEYaT/im4Mb4rEA1P7YTpdjG3h/7l63sQOwHOLYAVzDVb1Ok7ZdE+EDbB0GONkiykNRohSvUl0CFumI397xoEgFsYIP/BRjQwCG2dWfN1wAhDT1NWj0z8v/CUMCjyFfAE192MkFIbNjcdFgyz+Jx21WCxEKqBADHZ5l02lOvOESnXb/ZVkZS0WltbAOJ3mF+xQqI9/QAqmssv9x66wf0gT92Hk/x9QbwII+AhKZiTQw37L8SzyXQIRdhUhZ82Ok7vgnlrtHLwxQ4IF1NWj0zzJyOlpFe5iRbUKIX0NOlGv0RZP1OXa867eiVV/AvgdgfA2Va6xxLG/okIVbwLO3JoPGIm5e7sqIXYVIWgrjYS+FVFVj/LMhWrrj41MEXlrtLaa4oZoYBDA29TdMGK6PF67BdBM5ij8Afc3VaQ3N6UR3h7CvJvJEfHGlf/0kZfirUxDPphPUrd+t2aFDErogODRnIcPU5bMPqrX4c850+Xf+eDM28+F3Izb3Ig0c/y5I4Wbl1wizTrkssWx1ie7PjydaUESWEwOiJr71iemBi4idKj14d1I3M4dsl9919QOJm8TuINpS5QDuXLd+kuE1U2CDTZdRZVDO5vfA/IqMI5mXwBqWpMp1jOYDU5XMJ3GnqVsppMA5oos/O2xn85n8mRwiw7E0tNs8HTUguccwxsLnlwJBNPyN4qrh5tCUVuk01q/HZ9/lUS0zp5ADQvn7KvdaUFnSLDxpfr2tkufe2CK8r6bDDxy68p6DE9JS+G2DYoRKecmtJVZVkZlEQjd9PCxxq3Q+JVmqnw7usKHQwd8zJ0tVBYF28RjWnHuMC3lVy2CP4FFHGQIm5YoZoYBHV1Bhu1wGXFocDTjTzPKd26TuDgSWan6cBdeZtvgV9pMfB3CuDeTKrQkczSvghlWTd3E4FsbtJgnkfHMYjxOTbcmABzphvJWIP30wObAIwNCV2tfmBiB3bgFBukA08d6GRUTbIDNVK/DBDWNDRe9R9XtOQs46/Kzn9OL5T4RmkSJeIF2S/5uTfT1DSkcdSYFaHgQNLwf7DNzVlRV/ek8EEuSxmik2enYMGuwoSVThbCuz8PpzEiFFcUdTupSSWBz4XZJy4HpZTdtrsI2fhcy+mXOV3M8/32BnE1+X2UaMH4TnnBWiNWr5UWFV8+mDCrd8xwFNfLe1IzHIPTVvex5Xa857JZpLE8BNZZuCgFa7lmUO3MGEPY+PBUwjjbWs/hIMO7060s6iVTpfSgp5h4sjOoOf1D8vhkyKF9FxyDfuQY4T2UDhUqhaanF8PvjgEPb66dV4WL63Li55i1W6pE2/lPlHhSrODyrgTHMy0LmMu/Z5hXWiV/aI40LaJrXM8RS+e/rqtSWRhSpLyXk3V+8aVdQQYgvWhDmO1CPI4aNFDGlxhERBRoIADIiQk7MxC1821DYR9SIquNSJJUybsc0nJOLR0isV6STV1Upoak5OqX27nuqw5O1cDSCZZCcmnQS16/AN581TJdm1JbjQXspDtThs0+ZNxK3KcAMr/6ysBChKzYgaN9EhvDkLPdLTxK6IxX9uvPtEhvfllxblgdgZ/dFItjDy6vIiQK1s3cLusCdzrL2ujHTscOUnX+fhH/6QIhgG4MFnLQCWU8pr7DSiV1v8TFy24GYTzs7SbqsvB5mfTK8SoPMGNEPUgKHlsOyJoyviaxWlXPUypHqmC+la3ad4BFmadlKrU8I7arFU9IBTh7rODZonYiqtuqLYDIWVDSTQKrO51qZfNXRYzSlpLYQzGpkPQDJzGaOW+gaEY6WfmjogWjMvi8unr6XiTxwqpgWmVEhSI8rmrxki5RBvmiOmu1f71d3P9uAqqpTNg20wLq2Ldu0U+v6hSP3u3p43Tomh37vs3RxgIJdl1SqJQ5pw/nwufeFkyBR/8/96OtE/cTV/wKucMFXgFxsfYtncDGhNTjZQX59TI3XMZJZlVpFbequzKMsQB5OW+nSqzazgKwAHC5jCU1tbQVYF9CnLqGURwcswH+BXkaj3Hcj/zD7tlfjULXcst/iU9dFv9XNSwy7u7gSSEhAAcsy3VwkZauXaXyA4UYfkztlACO5gipMincTo4FCwxQzQw++czlYqvXB/LSzrDt8o4DDGOfkQHFVRQwp65CaKdnm39z8wZss3OAjVyrynKEFTmht6zGKYKwT7eWU9mdk5SVMc0E+MNSvRSxTDOG2dKEDCxKup937W81gdjildwShFq7gmc2ng7z8omeNtX7R4OXn/UgRSSSD3pm5gk40AxJPgRBANxlCyBiRm+hHLLEK5TGz//fWYsJDI5y+qF2nCLWVuD7nzwcpSY2h9z6HdUQ4fFJByDsl2vhdEUhQCzMv5TFnVsQKrKaX2fokJi5LzlxUQ9BAHcEiUmL4niO0hkZGiaFJ2tk0SdrcOlsPSBNbBjg0tO7VexLjX9VjpxtdGsX6162wrD4qK8/BI1gBOsJN8nfdy7Uqvl7AOULv22hOJEp5SbbFPkbl6OsKjlfQI+8DxOraPbPA2Yzq41NCcWM1FlNgY/CqEFQ1f+Rp3ldf0hpR1reNWANPmmp5HIC7vEppk2LlssWfKYs24CmKyBDF4RA4GW5beVcORd8VqoirypYw7hmANYNFAZkuv8ZHazX/Hdn8sbTvjm7KdeTC4l5dArx/by7aVSZmA6cynOhJsSJDy5ABS+kIuXLOohiIeDwaJqAdE2u5nAlEeT+Q/jYMEmrdoIPH9mm8je5NtmwDzC+EaNPHTm6+CeIbzOMmaitH5JAfOq32J2rQOi9pFhDqaexsRG4Ll5+L7kFEOgw5KfxU9B713LCzkUokuY2vfNSbl5ghb3RFzWA+SjOFXFnUm/jqWH5lz4yk4U+oKlN2pGN+WA9iGpY0zRkCPhQbk34L6UAhHOKEvD7LjbELFMLOa+g6RtkxLy6LcaoGs4HXplbpPb2o1NZLpBv/GrixGMOq79DUQJHu4T1x/Lwucx0FRWj+AWSrDd+fJRjg8Ps/chty8BhNqLnmEWifgHNZZcNGJrhAhqTNoKXNUq3w+Y0cGJ1ITYFFixSK7//mQ/Uj6qQKqYYdSsHz6PhES+ZrFZeSw1yZtgZ5+tTbo6Ky08tTi22vI3KezqZtottYKWKvjU3dAFmkS5l7U4YaJQyUQNH/VmcKCb6+LGsUJTGnB5AwAQrkIq5mcrEJLf2QwYPGRSpwHO9IuSVXWisrq7J4ZHBJob8NDu0YQaiycxJPm+aqQP1DlxlpzvYh9Ynk5as2Kq++IZCVBDusbrnGploRsp6ACAn71NXvAl8sZxbFIGN+QcT0F4tn6z4Y9eAd8MdnWfl8w+nCMCJFu/ftFlglfzM7gGPXxk7UgoSjhaLqtJnDXsP5S8Z4X0LzUtyOGv44NBrgz+alJpaD0vS+Y/4FnXfG9Xydl2yxYnO9N0nLqoEfIgCF6VCKwo9ezd5wTpXREoNhd2uWNPd9Tq6yp1v+AD+4su+v9IardIqq7Ek1TNfVe0L3EpD4nmqhRj756Ep756Ep756Ep6d9u3InlLa8S2QwEUXKXi7ToKq2E7tk2Flu/qiUWdltrwUYzHCCBHAgcwwlbe9iGvBTwWtW2WnzuccjJzz7SISPxHrlqMNIUCHb/F9onncKCcvzEhpzuiEd+X0nOY+9VR9OuIpDgRchAVbMpxPvD1OSQaslu/ez7rnhybl46A0UjdKoBdSuB4Kro04sq3CiH/2w6e7KgTAE478aRsGeghe2SLfX/GvNX4FvLVUJDJcEHoTJO+MaitRWxvzteXlTebqPvY26j72NwwL3sbhgXD7rQjcgCXXhAv1OzRD2tKAFdAyCzfs9+1NmTxJx4j5w4mHbaUZeU3bzp71jrhVn7isG1E2taGFaY+oulye3EenjkdAU2OUz+JxwgezIKyXG1PQnxlKQm2zbuvk8g/x/De8dj9D4AGbyuS6J3q8UAXyFKqa7mSy1ha8yhVi74Pwgenvcz5ik6PFch68upGqfNOOyyuV6X3RxWh9xtvB+hniV0ZMR9Tqq1n/zCfwb3c5v5MfhIHfXoid1CPMjqE2cGYQIwojvIPsrv5UJy56nz4z9nXCRe+PFkWQNnmn25wDV5IHIw+Tk4u8L4O88R61sjgiqAUstDSQuQalYBA3S74xs9NXj0Ny/TJp5lJf/aXdYn+bmENWJt2zJy68qkYWYfe6ZgDJ/K/d4msvEQdKPPtK7zfXiecC5Vf2QpFWKn8VC98oFeRVhrVaaftdb8Di4a2VQnyhJucLV4WKoD9ifQKQzgrgj+D25M3FZFggelHwB3/5z9MKTXFwO5y/1gT7MFVjnV0WpoZpGFzApvH+TzySnk2vF32WTjJl4SZloW60vkFQIpeycltj193lgLeUafI83o51qOGMV+xLlHHWwTFdi2ptDCYRchISNz7n3KABybZl+ZaYM4F1kSSEnj5p6cGApdVTw/jBT2OehpC/0YVqLOEzg1N05rc1tbvySxxUdGLAWeCwL/D31qFJdEAAMRXs3GF+bYv6uuqgYnj/jQvbdeNgRDqSDtjCviZweirdd6sjiwjdEoviPmF9GLPPfJyhwkS1Z3st9IPPemvmoTaV8pcv+VrToQXkcWFqHSNcleCObjcR8vzodYIU+UOfsskUZ0uTDhBTjBDomeEcoBTLuUtRTHbJiibP5cs8ohPo0nojrTnInozNS/Vn536LVzVaDYvAfYoGm4tYPPoh80wG+rX3f7zU0LxDAlhwssJsGqW20Su94p7lIOdpx8SqmUeT0wGeelIc56ik3KMmdnL2BQBqtiJij+pX/vOkKIa816xgwwh1VTJAj5sIcgtbLA5nFz1ThGV7+5NkiowcQpuFQ+CeodrSeo5zYDBSQgT4DR42OvOSuLF/BDUl1KCeB3ZjvH6FjcOTtb0V0ndlKOgGU/gDQM0quSjQvvEem0lZ0tdnYy5hiJwU40RtwQJbb8tXn4AAItl+qC3Bi0OGHBytzVXTq04khMOxBNh4zTAhE5d0PAOWYp2FWJsHoOWzALSICzRMD9xVpcs0WygB27vEKF2df5BII+QQMVhcBJb6Wx61ncoiGPYbcbQa0eScT3XC3syOHsFSg30/0pAQqoZTfAueoZaDO2+MSJ/RGnCIK238XN4cyb8+fdxGEYM1aa2TJ3AAIT9sbCN5HSx5pf9/mjAxmZjy1gVkaPO21jf/UiyRcpncLZLwzTuRGYCZYpOEWlIw8r1Crv5fwNp1NnsBCjeWF8+Cq0oNwQtyf/jiY3fModwPlVAoHbr32b4oUTl9/oF29j+nGaNb7Rywb7G7u0HZsi8rzPLqCCkI1UvNBmygWO2t8bPbOzuqOlvJjPM2J2TM+X2xAbBlW5yEzSoC8qTxRktXRgj4czmgq9ZxpWYiqkT2Ks5rWh16as44zrRNaQwFn98keyBJPTq5xaS8HbkrQu9YeQSmGK7NnnJWRU1Z+Yns2v8Vez0011VBr8bh4Z6JM59cn32zPSdohrKDzSx6wFftQq3h9ZI+jMq7j33EPIK/l3j/Gdn0qc2TTwV5mUgj33kPQYjs2Ul50SUoelkBwriSqkH1gYl8+QBzZ/1vjjYo769lQpB4yHvYiP4gAvYVplgwzNrJAOri2iWtNouDH8dvlgr30XXjGvVAlulAh4e7q4NLnil3z+TyXvItqj7M2ZTBw6O0uK3UCnEFSW44sVEhFM1gCuVMA3+aU8EH0LOptxK1zI95RpO2Mj41CqNJiQ4BaQMVDndHwKoVGYutGZmqjJHVo+pO0B3wydNsXWR3agV7DzyUdVdlBwoc7CtYiy2cYZ/A1YzqdXnPn5TFwDWJ6vPElvv9+C2ZiIA9nqZoM1pfkEtmyqNMtuU8uzE8nJOghD8fbkco1AwMU8a87gK2YB2VAqbg8btyl1LmcetQ+UGRil/9kPfstRxWt0Ym4dTGK+ORkNWfk9u+/vTKvvxu+NE5sM4S2BFsnUiZuFpSBXBILWx4I2z/E7S/FYJnEfErcxXv5ZBlrVXdI9ssmLmBwlP9wGlwshK2HtEhtCMV8RfKSSCUFXZLZfsevULc4bUzpqZziH3rU1yG1AuFBnXPVrrPvFNbdnLbWcdU1+2hSDvgTGSOnwxJGX/NPbWaVCm+T9lbdIqkyvDhJCJUdsVGLQSbgtHMRGUddBmWvd11zh1/BxdZx4F0XqXIQTKbv8A1C7UNmox9b98RhgWMoOrToM8h3TfjVDcyeWzsP8+6lGUcrSnga3g+Yw7L9nwgIaCQd5ygr9/qO3ErjJKnzDagpkSsLXUnfW1IIpeslaBwajNabBFKWkn2y4jY/iBjJpdyrCeEBvc9g01JaibMhAeeVl/2pKlYotHoP4nnlflXNmpTliIWdlkfLFzapekWnjCraEQUd8p8KY6bnl/N45/Fl/qzFZklUbvJ4bl95/6a0Xzok5E1r+uPnTM+3fRn7ky9zQrBsDOHTxA5Wx9NghO//AggiM/sc9Ne0e0XIYFPtXV8xVY+aSf5Rl/wkhfI3RZgC5fiJPv0yydYIaAz5hmgCfMgfxHHwHdJdXlH3a5QLyKCF6/Q+R9dNN+5rvjgUfA1aT9DSOXNcLVpt6XZvufjnugUebkZcgOBcZ9xEhqx5ohNlDdC/zMv84BjIgMkNxG+gk8MAwx4EdngqLq3F/DjJyBUjEUNE/Jbk8h3D7phd/AqFvM3H0C6boOwe0xPs9GEn/s/XKFYF/rUSlkKPxeV1pjU+iKRb0wQZjXIQv1Kg08HI/Hg7xmOnZGgDRARfNd/S474eB8wUem8zkwr/6i4Z02HVl6h+YIu4XEAthVMKkyjpJPOXnkGhhX5a2lVLRGkFS23o8S/CngbrOTFW9Y19BEG6P3bmEt2n8cSBlpI5kazi4u+RlAdep1v/gf0LKjDnSp3AxpRfQtDggAAA==) For more information, see to the [text-to-text README](https://github.com/qualcomm/sample-apps-for-qualcomm-linux/blob/main/GenAI-Solutions/GenAI-Studio/core-services/text-to-text/README.md) and the [code flow files](https://github.com/qualcomm/sample-apps-for-qualcomm-linux/blob/main/GenAI-Solutions/GenAI-Studio/core-services/text-to-text/CODE_FLOW.md). ### Text-to-image The following image shows an example call flow sequence in a text-to-image container. ![Call flow of the GenAI studio components and how they interact with each other in an application.](data:image/png;base64,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) For more information, see to the [text-to-image README](https://github.com/qualcomm/sample-apps-for-qualcomm-linux/blob/main/GenAI-Solutions/GenAI-Studio/core-services/text-to-image/README.md) and the [code flow files](https://github.com/qualcomm/sample-apps-for-qualcomm-linux/blob/main/GenAI-Solutions/GenAI-Studio/core-services/text-to-image/CODE_FLOW.md). ### Image-to-text The following image shows an example call flow sequence in an image-to-text container. ![Call flow of the GenAI studio components and how they interact with each other in an application.](data:image/png;base64,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) For more information, see to the [image-to-text README](https://github.com/qualcomm/sample-apps-for-qualcomm-linux/blob/main/GenAI-Solutions/GenAI-Studio/core-services/image-to-text/README.md) and the [code flow files](https://github.com/qualcomm/sample-apps-for-qualcomm-linux/blob/main/GenAI-Solutions/GenAI-Studio/core-services/image-to-text/CODE_FLOW.md). ### Text-to-speech The following image shows an example call flow sequence in a text-to-speech container ![Call flow of the GenAI studio components and how they interact with each other in an application.](data:image/png;base64,UklGRhIlAABXRUJQVlA4TAYlAAAvU8JwAI1AbCRJkaSsg4cs/x2epR4LIvo/AYhJ4mHTejlpq6JX8JCFIw9BQVgezOkRWxFgh4J59h5uEHCHAmq3qFbn1IKbVHXKo7pJBXUMoMlUgGrHkhidEsAN3KNL1QGFsUAFn/upv782IxVxnaGwAThQFfA4PTgPrkEOihYjJygLLMByVUBA4MXxhFEbSY7MH+VCaA6bL9+PINumKPenOsIQCLJtinCE+VMdpf8TAIdmASA0CQCRQS0AQBgkNAm1oNsII/9uLHaM584bRLtuVR3kGomIA4QYQCCKQABNEVYTgFiLAKIGEUAEIDZi4vP+v3NJklzGFLtUYQZ1mGmmmWZSl9lmmW22WeaaY6455phrjrlmmW2GmWaYYaYZZprpUcSNiBv3RvdUPJiu+lFrHir7QdNVYbVXrLJoNUCdRs6i0YHxKKob6a24mfYF9lCrTPxdAsU38AdfwcF6lHdBLRIoEnQbExbVnV7p6SpqFlBRZdHaB7QzgPMCqjGivF/zDRysSXnR1CKRjVFWA+W1tbrbGdkFapVVFjXvBoUVgfMCsvGTIkmSJEk2t8GACQv2/18xsGHChDEs9va9oda27VqZn7jlkaQS6L8W5JdXHrnJMQG/P/CM/3f79elALWn3uJJenQ7SIpboNq7GlckgLWghtrM+mQ7QaCkW6TY+ezhIi1pKt3eFXMUgLZYlu43Dzw7SaICm68kATUdLWEwH7eMf5wBp97hKL/dykDQdbe3yzNXkdIA+eyXZxq/7dfMBumqIrR/unw6SsO1razXPDtJVcnK6tbV+wukAnVwZg3M5sxingwNdiWU6aIdLZj5Af89015hyqTJI685VYevTZXc0QFNt4+/pFuwAndzYxsnpUnWQ/tPpaDvT675AB2h9ZiGdbw2/ZjRAV4cG53B5FQN8eA1DuPDP4OyuC/9uBqifbw3OtkfAW4PTz7cGqK/jtwaoj28N0DUM8HT01uBcrVwfht+fy4emf2yoXhsaAK8N02vDBfz+D5chwmuDM+CvDU6jWJexDN+SriCoBt+wDucG/bb4avMi34K0igvYILhUL2IN0jkQ8Fu3MwHG88BTwAsPFv7Dd/3p35LSFYoPwq1eQkBaJbfDJRJuty/fRpcZ/DJ1+Arxi5TcvcRh0gaKAnuIAyKwPwIHRb0o9tBXvzogW9YGiqLYQ+CgCAQgAhB3DYEiIO4ykBEBJdVwji6RVXobU4zjIgnLJFleku7yUcotdmutAiUAeucx2iM7AeQwKPokb9cAMpeiDdV9IGzuMwCG+SwXbsZOIQyI5ggxmUvJN+SAAV2NRaUVzKhuhvsrBqEGEOuxJCYA3L+qEHos/P/fgVHrAHL2AkQrAbW+cjEVYPDhyqDVBXL7MnmUVmGlAMi57ZXzTMNVZnwM969BnKHF+yASyeiZBGA+0x3uWjGUEYgFs05HIZLH8QLNqQtxlt1CGgAP98ollNhWpJEcTju2e/X4fXTHPBw/CTorTzrUTPA9nBbVcJaPjm/CMdsxRKRR+84f3BUcMbx3GuYKlh8Hd25dzM/XLnCuEljmIbbVQMEtB0f10JUZ+m+2TsZfX6OsrrlckzwicTV9qCLDnZshTnxo7A3eDm6nBuOtGFP2GvMbj3LB80vCkNOjlwBUBRGA4AUKhAiX53vYtSk7G/PsfLqK0jHgZuGxoPJGeVcFgzj2Mk/qZlFW8qw7w7ttPg4YwNdRKgpOvCvnyLs2u8fQBemmeDsWSxiIo/0a4Sy5lnezUtTnMIDHp3VZNbihGKaYepof68U1KEUVOxvT58mxg93xy/56LSlXD5lmDsMbp8FayzdLdcfw6iYgIfHk9PUz5c+N18jjVI9QTOe1jmFDV6xDsKzEHAwxgTKUHCwop4gZd6sS44sWYi7emuvOPRW+ci4Vc8BAKtCr17N7dsfuIZioGm4PQkBmAXU7pPJuAAs8qQS8ARYvHICMEEvnEENBVYIngQPwyI14L0g5adFgWcqF7rXzIhAAD+2cdiKUrJxogbI2d+HkXrIXzXEZ4fg0J2F4/Q8GxEDXIwtWQr79J+Lrpw4pBw2ZEGyO7I41SMW+7jlYt2yW0hriyeexu7MFCloABZu+LxVwcH8wEDCkAS16zzARUIAEChd1VxhgCgBKPi1JKBjIggI8xp6gd0GLjV2LrX7bDiQUEKIAIAGzMTZtxxjqgM0TBWo2xqYUhpw+YjKvLHfGKN2Y8lXiy6lQ/Tbd5iXvXn0VgPv40ClsKuC+MIRhAmFg/3QAJ3/6Jvg2DL4AYdMxNh9j1xQgjLG5MPRJIDAj/mCIEwL4WwFABDgR8dTwnw4Afzo2/TZ8C5gAQAAgiM2JjcS3srog3Phwa7St6YdHo2EaDdRogEZDsKj1tlDpz92+4HCp7BoHa85/2p/T/pyI2zhYz4z6crc/uHV9G8wHfRnd7c/hX7SN05Mv9ue0PyfT0bZGq2c+O0AnONjG6A/rz2l/cMLBmV9p/0B/7vYFdk4Dt1z7WfWDv+4Pu7CO+jFa0q5x91xW/RhNV8/TheuM+jGdj7Zxbu3b6Of1tTOLyzlX/eC9bSxnb6kf/HW/7sK16seo28b83z/sx2i6enLhal8wx7ZPz6897MfB4f//d4z6MV2yp9s4X+ff78vB2s4f85V+TE+/Mjg/9w308/rlyb//D6kfB93A4WPo63rn9GPY3Z9Ff1fuT1857cf2T5dtX7C6Z2k5V4tBvIe+/rr5xzCIX0NfT1b23XLpTz+/hr4ezr9y2o/tz9HfS/vp5Y/1Y6BH6O/lk/nH8FTioOy+Jxj6gfjQeg1PLT5V9FRjM2XPVRZkzkzB2UPczBQAiFsyBwRuzchtGZmdAATuzV0CAYoqETPm3GrO2SoKN9i8DSJiAuQCQNl8n+iQCMByK0DMDgIUIAIUtYIW8wnAy4DavTkpp3YuMYCYK1jIbeejFEwwpxgspujeOXILt9EMqDEqmecHHQQAVJf2HwYDK0L1Eh/kzg0hJ4l7ciiMVSlGB6yWh/uoQTk7hBTJkJnmgJtSLFAIxZyBXmTBZ9GcJqSq5DHTTam6mFtkUAiEsCffBiRLDAFA9JAdiq2ZGz2TzEDJmM9CJhQqWpKW0IL7KErm1Ynsgjm6UozMwQQ6Nmb43lwAAoCEHVUu6JmwsSXR3xqI7RahMekYXPom+adj1u55rerhcA2lvaDHyRWy15X2P+Tkkh7c2+u6zg854RtR0DxlwdNctS6FrVX3Dm3TIzNEhewgjKK6iTKrOXJwKLvQTULjArUT5yFKqYpFAaihVgbGgChHIdG4ZFtGDMHMIGfoBLQeS6k1ZAWUaK7mRQEmIDYKxATEDPvApEMrChOimUn0JgBiIwEkgCC2np0NhpN8urUB/ibYB2BfaCxcpauUQ1K7b0o/cPzwX3NuTUPhnfeRRTokk+vf0E1fmKJh+tz78SyapxzjI+yKW9MGgZuIjYqOaZPsDkA19VirPBZARG47zgApF27FZKnZkJmjmxWXiar7ntHlki+R9dlLOj81mx11pR5xEmOaGzzMEyy4xQCxyRCVu0IEy5JNRgWQ5dT5BX1z7ysuXgEkuCGUjAKLTisxWCgmNBodZm41Ca5UrQVrqLNFsxYX4uP/5aIs+yw6bKZIkEIuWSWimM3YZEjoWVHQm5O2nYTvfPEzry7Hj5Qyc/RXuaCpuaBCCQD70OSMR0crGEEEQ2Fj5JeldjYBJOWa2qaIl+BET10CZw2RbT6cePNEDx+wIWJxMztKLRqhl803rTz3UyEBsmpICc3QLy1Nqx89BOAlkGiI8rlv0ksPXkLTdPp/TPCM/xvYWQQIuI32M6n5xBsgIyqmzNLmkddibmiCzlkRsmZFR47SOdQEEQQCFotTRGNWajbcmA7Hw2/A/KTJENd0fRgedkc/BU/OfvSjzYVXE4bxweTBN5x9POe81/W908bCsE5+4QWEZS0IDVPi/rUxnhZqZyn0untwfUNXZwGANTqOyhrczZn/nP/y65/6pTWVQntYuhW8oCbHCyGYUofZlZWr0/FUEIDOOWdhk6NrLTMGdIvDf9np9IoEBggtaU2OLZ6ffeX04rggAGwBzNqJN0Iaq+vmUuCGAJBRzZEFcVEOQtIVPLyExshStAm9Zw9w1BQZY4ucMTZEmqkcG7lJl1Mz5Ir5YGVtTfxpKAAsr+BhfoBm6HXNOSIAepjssyFy+nj3E91LG4DkaIzeuBgLwjP+H1wTfYPkjQ4ZaS4IcHHuAQQYbaJ5C4BdCQ2MfBTgyinCXbXAY6gq4AS5i06aoYlRWYtp1qHMqSCo5FKJCR0lRRQ0MSXKHBQogZBchCGzpThDo1KbNUjzJ74Zw3Gt0fCVJ/CJPC81GCHPIQfJc8jBCHkOORg8hxyMkOeQg8FzyJ/+pee6V2NJo8bChfQb9IAzDOPja9Ynl3su3g4ai2cX05cMTVRvpHxk4ZhnBJBVMn1rq2DhhooC9RC3Ej2ga7eX6c2AoxYyV5fauefAWrJnMEWvhbVkR5dQ53m1GoEVPAiYC8lysnk7ZwZiLsguWqhgyG6zZsBD985V4CUKhhSVKlwyR6nMKCDoa9TUlUIoo8y9zEOpVgBkr4ghWVfcLOeZ0Ayct5rTzVLp6CYLCBkeRUdmsFJzMvKVX+aFjCUEhICYci5WcoZqyME9Bw8GwNA4jB7QX6s+efV8UiaAETNghs2jOHEAeIDeNe3FLWi6I/33Fps6tpuw7YJtm5U9ri8IJxqKjfW/vKwphtJ+lT/4wpXYw+LimtVtaeVjl7tD89l1ezkwnMRqevc8H5f3eXvv6iBc2bNoz7PXh+YiudyZDAnO4Xysp+erjr3s8RkWHi5Dsz7BsIYHP++Nk/Ge1keeNhIQCFECQJGbSb6ZwC0IBGAkILCJULMnqNZ96yZ5PoskSgAgAjgqCQT+y1sfRwYCVhASAJuXQkQLBbnjBIBZEZsEgjIz0GUheAme6ZgD5pnBLGZgQYf/5CV6vTWbCaolUqbOXBOtQE48zDOTFfM6Kw0CGIzKpQKC0M5jUjtPFakW5VJv/bcLGn/mVkxELBkEZjGjZJlQKg2tgkdLlQWNwUAiJgK5gC0KsxeGmnKSJwHVPjW+8yMAkeEta5c4L0G5VQxBrSCEiMCchAZBASbYtCCgAEjYPGN23uBH/AYcAQUIBAJ6zrD5DA3LMMFdYHwGCQCJBum1o/t0ACamwAUuDRHMSJ2dirKj2JaGyN13AIxBkC0ehtAMAfBnY1NPR/uNka3mgmbomdaIl17q/LlmyHil5uFHP0BaAcgV++8HmqFn5+nzsg4A21lAY3R5+kTl4HkQDdPx8WPpGZ7x/24eU5+ys4fkTYpsnp3ZIRVTIWDwbJnFPNei3Apk55qxOaE5GQwlUq6MB14traAok5wXyr2yutfgstCcQAgmCeYIZqGQsFzyPJkslKxgsGLuJqI5yVYga/QZACEiEYBAAQTUtRRAWPQGBQgApoB+i+jpM/SUhQaDbTbw9TfsXyaNhZOXbw2L+9GS3r81FU4vMj4swuP6V1e2psIQhycwvWpPGicgPuKw2EBZRywMACTV5BtsFUDrGzovzYu5hUwSDx+MikGeuklnpQtAHiXLKQslNS1MaV4Uci2ZMYUsAnlWkQkvFer24+htNC3da0sYgsFTcMCIEulOWC05hM73a9u0QIutz3JukdA0DS128iiVBsPrcQd2+CfsD7PmAn9kQUNCrO+9ODlHl68sVxoKx8tapEPydnlidnnN1bg6i4bpRPX6CE8X1awAOBtvJnmjQ0YIuZ0XcvxP1gvJqQGkdTMaKW9orMGQgyfLHp9fOnNuOgpfmLfdvuc5RQCPmbvf18gAxbSCMp9FX9TiabkS/+Ux4kWTvoSDZ0mFeB/NzJQdKjnBnG+rxAUl3q965ULKbDNM+H3NDBYADoDA4Q0XCpBwt6DAge9DQ9QMwjtfouP70BRdUQ4F1OXUFAoao//HsrBpXcPDfTZEgO/bBOhWsN8Y2Wp6iAZqZkNk+l9Ge9DLOv65DZHV8qSx/bDBsr80QUP01f/hUmEVgNISzdGf8X6TQTROA7510atkG3c3WbjD9Aanu8+CAEx3ZrRHtLpnOwvHknqM3HD9KrPA7D4/fGWCukOrsTc0PfhjeJWCm03XM79mtAFv+2iMBX8G6wSnWzs53cIJTnuI+GEr2NHpp/aGgCkux0EZ8/AA9w9Or90dYasL3PTBVgmfv2hfuQvlopV45yJOIUIH9ynKEAARECHqEpnd/KKfFyCuowI4OcUVYss6/Pnnv75hh8/2ioCDfAnjO4ax7vzBAL6rx1+/4fv6cOulgrcvTR16+QNWJ1iJ/WuH5+zzHN3ytztzfPQsPo/HrC4lsS6m5bL54hO2vvydtmjWcPedLy7rC698ZgUvv93h54cb2Du/uUxu2u23dWeMz/4x2GneW0kuke7jH2R+ayHee5+t/vYFHaU3n0yi5/L8gqbdFRye1xreh8t0NRkxzR63K+RPZH35R3B4zqxiWV/C4ScXNdU6AHG6N3Zfhz9yIclLieev/1J7dX1myX7tu3bqJh5dO+S/d+DG3/rmGpZ0+9abddHobvdS+LLDb558dJ283376pdvsnv8nD/91e/n2LZyXl/tYVoTFNfBHDMKe+OiP+HtOic9h/DmcC+dy9bcsfMAO3+PB3RdFvAjgxe8DIEIUpyMRwDpe/tIFQQQgAsJqnJejtyhCeLJntCeGpeWHTjHIflH4PuykDjtsXcSmBAHiIq5gb2yKD63CM/7/VlXXAacp9KiBPUzOHhlUaGIcKYE50EJ1IBfzgEvIk4wSgx8RasMqklmqZCZDLDUEZFOexZaNhZrhtc4qAWrWwfg+YG7tPOQ24CjAqBRVKkWARqANeBKEr+ABmovVzFVLDi6Zg7VF6RCq11A4mikjB6lEFAGoXipLeBhChpl7U0GQBQgWAJgFAcFyIJADRQGoBYDBASC7EUG5ZK8UmoRn460Ms2OL5g0ALWh32CpfmD/X7vl9ZX2MdhmUupI+frKQvbnH9+qD/f39XYXt+/FTzl6cK9b2Xrg97e0RJHcVvIR0rnI/o2HKKcbX8HRNY6qKyZB8BWxBYN5SN66d4FpXfMSWECGKIjICIDYhhImF6LWtruhCjp7xSxlqnEiaO6wYmAnmxI4hY9Z8gAtA9gT3mK1MflUNNVz7+CXzmQDUSfY4e5jaF4rBZUrqHnRk46EAciUHSPeErgVCCT9yYfrtIGYpeugmObYKWaQLHAWi8dgiISEBmIAiRED4lzz9a//GKVoktCJEIcCxsRY0KQkQIABOAfAUvQkQBMENLGxUbNvmZhtYghNbpKPJKba+QblTmG2h4Rla9PQEzUeThsiWOTnKoXHSKK2Bm4wQGiGnX36y8gTsFzoAqdY0QTP0+q15iehZXiKaoVN+YPYTeR8C0SydACCe8b/UI2cBUK+aATNkAdK2jOyR1UxQVI6IR5AU54YovZAli7Kaa+4sqqobZVgsyi64QzWjBa3mmK2R0GE+t66qxjgC8hxdh9h1tXZZ1kV06uKIwTC3OdIc5ATzBHUMXRdtjqail+qlWhY2ylrBTAZUgYAhgAAIwFEqADCYMoILzUSrScwBMoTqZCxwA5ADYKA5WUOnNhyFZBZAy3QLgCwA+1CzQOwxoJIjB/Q2OJqJ4/obynODNJBjLAgne3yf/IAux3fsL+pKhOwCLeSQXaCF7AIt1JJdoIW8pEPQQi3ZBVrInfG6hRyyC7SQQyYt5JAvm7XetYl+aI9v9o3xqzxpAbtgQgKAhBQeW/PW33Phtnt8nH1C2GWJgwPs+dO/a5dpBn4XPiJuVPEeyqU/q0jsEYM3KLpQAc8huyrNQg74it35yhQ2+mUJNdewrB+BMoUSvqsxAWURkyNWVmRfA+4v7PPedz65ZlouYVFTTHQJsxWkbllTUZafY3OipLkXW0NQkZCs1H9y6X698Us/rhz+Eum8rndQirLiJkulOTHDRKRRJABjy5Nfdj5wQVMC6hb0qkgIBACxOQHQAYdjo8OF78QVXMcWvwvNUGodXe7BEojG6LqQuEE1ew5NkVdb9J6grmBWGiLAd/UCsD960BjZKoXGqPkmGpWGSP6g/txP/LkbpJjLrCFyY8W8YCMAEtMDoiH6l/zU6RPY3zeARJPU/9wJHM1T4hn/P+3Xw3/1ANPtLeh04Z6r41S8OpnuOqeLx41bN3C2A2PtEf0x07vo4/Rk0eJkIflFd0e7zgmAAyxOdwDLdo/oa+jz1Xd/ET6JEXbfq+3kHp72uERuJrBHBpwbZKFxEZ3ZO2JWA3IxqHKG6GKEPMFKzSihYREVRXA2X0HpzOdGzDp0RDVSnJfo7qMJGpdkqcgk4KEqGDZaBgEgCwDVtEixkK1ZQiwgMlA5Q3RzArVIoTLk0rBAAuAFWxWIvouNhvF4CwNtv3C2T2DcVMhHw0F/6N/xma+dr4wbCr/s/1jQUCDvY+E2f/W56i9a+NiGwsE7p0PBPxc4WNxPmKJZ6ngaoOZQdnMFANkKt5ctATBvUtQVTGqoXgvnDJYZWyADyGNzZHcVdcVDjJPsFkpDwjqkyOqWKkmWikifR97sFLxLKkBApRcBSE0Jzd0Ca8jwkks2oDC3n1Nwp4VSCyilLs3dSvbUkIAgx0ZzIOYWRMApjvcBgZMcywS5cAZRjiZg9DAAW3QACVsngDAB4AlEQzD+hrc7mclkMkEURYGiKAoURYGiKAoURYGiOIZEURQoAkaBoihQFEWBoigAFEWBoija3tZaOs9mOedq1XKGPIfsAi3kkB3yHHIw0EIO2QGamwuQ25IWThcGbngOORhhIYfsAi3kYMRhl0N2gRZyMOKwyyG7QAs52F7X+/Gr/tw2pFTa0IZUsOMEAgIccITDhT0L1VMMbdnbuhaeS3gapwJ7iD3OGiC2CsKT5Ga5Jcx185+/doVCZoJFHB1FIQbCxQZF1/o8zmEOj7GN1eeMa6Z2o9gJmTDYHOZAsbZBQQNSzckSKxHBs2ddX88sMuQC95yTudLRJDQo2tgFT7BZDM8Jk7hs3vxlobx7gSR4qAVIbSqBOfjRPhsUbAEUADMA8BnCnR9Znv1DbocwYwhAYZoBQEVBo3MMAJKEZum1S/Rh76N5VGMEn3uMvNRz5vlhbIrcfWV8ho0egj9kQ2TrbI8aKMilKXJ/lTD1UufPNURW1nxzTF9KgGTS/ktoiP4vV8sb3gn04gmN0V/2hJhBNEzHC8wEz6hf1RzQVzczcrPqDkw3k22wvEk2IEcgNxJsBFQdwXPOQotuGQAznHDLib5S/p6cQ060JzFD7Dqz2tm8A8y6+tByjLmJACiCQRbVdl6YrbqjFrW/C+YlclHuI78EFzyohuoRCkezaJ4za7Ggr1ojIbEyRUY5K90js4Kp2O8NdDngsKwmHjzW4oSHAiG4ZwPoLjCTaCJ6C5jPYA4KxDy5mOmqluRd+pHl9piuBFsQLYienEWvlhwAjbHs5ZlCn74KwL9KBPS3BBxfD9jo2Jw+c/R2tNizv/b2w+cevNSnnkLfXSeCemw5SZvsKAVc28PS5X1+5uo1n4iKIRPyXLILtFBLdslzyS7QQi3ZJc8lu0ALtWQXXr9s/8v1cIEWasku0EJ2Iy3Ukl2ghexGWqglu0ALNRhp4XLNUu86d+dmr+9d3V/fe37l8dlv7P2O0mL7LXq26DnD9lsA4Xzyy1r0nKFFzxY9Z2jRs0XPGVr0nKHnd538m+d5xx72goDwBPB04Y9Ca6QAUDCEWjEjcsZNAFnFumIuj8lCbTG3EAuA5M2GHKKYXcYiKZQ4qfNktVutkHdq1INoys4eavECPZSIEGfNBvf5ZAXuADtogo1mmZ/7tefSeKVkFnQeYQ4h5H3wCAARyhzNxoQwegAjJZVc2c59EpFuWn7121UMEfDsSpEiQww5sITsDYfthwQk4pWrvV9//U6AQ7lgUxGb1sBmxaZ3l87e0IKm2OLCAzRC715DraYNDCHwuxohABiSb1DNucy+qyESiO/aAEBzzhoiwHdhcx1NvCmyVR3tsxly/UZNm9hRatEIvVz56Vql7XMAJFW1Cc3QH7m/uqROAMES0BR99nHTzkE0Tv+PEZ7xf/8zQj/MGACITY0jb+XzkqTslpgt0NCxMCeLrWhywpsWQDWnh2xuDKmLPltBYCaCIMvFu0K2TYsSOi8ZyB4EliN5iAGgXCwjUnnSzULTovV98wTBAYAZnh3mlBHBCEMwR0NSYC+HFzRDXx8dfUcrAhBFbBRFAKLYQxQBiGIPUcTJ+jnAtKkw/eb4J9Dl7AJtGTUYIc8lu0ALtWRCnkt2gRZqyS55LtmV1yv/+ILOLU2F0Z86P2pDIja2xKAm4rzwV//Qf9JUwPH+LwSInsTAEgBGIzQYiY+0Kg6A2GiIcgZAiC264gCivIiYI/kmIgBRhFnpUS0EYB30XtW9WVApWwFLdYO6GT0rhiBr/VcVhwgpyEJGsJA9zYPBPat6yWg7kJS515CaBSiWHZ3gmLMLoSvMYLH2IZmdsNkopFGRZ2OYzT0qhBhYkYwwy7Oci5KhWRiCBUd1OvxBNREWaGq9K1EBVkOQnEJ2S2HO7MxBohuQVFtHSVloGLYILTARgRYJIkRABAABnCeHCEAUkRUIUSAEOQBMiDaWPbtcW/ZjU2J4CSCh33f3uuyn6ck4jz/XjSIAuRGAKIoA5EYAotwIQG4EIMqNAORGEaLcCEBuFCHKbYPcKEKUGwHIjSJ0a69Lz2fkYG4EaGZuhNzcXKCZuRFyc3OB5uZGyM3NBZqbGyE3Nxdobm6E3MxcoJm5EXIzc4Fm5kZIe13hN3Q5ER9qb+91AS0+Eu6/35/1ycnVOOnLvQXtGocnfZme/MxRX7hotzG91Z+pdK0fd7d1eNKXf//k8KQv90bb0LW+TGH94Se3d3jSF90/HPWFd7dxTf25ys8//8/35XSQ/v3+nOjwpC/3RoO2nlw5YV+wZNf6Cf3UssVuOX0W/f2hyzPo6xTb3P/T2BeerNUT+ql/chu3Vq+nr/UFX3sW/dTL2PqNNeegL1h+vrsc/enjyWo/sS/wvxl9/dvOZ+9u7T0d9OXOP//tfVk7808Ozq9b62FfwGfRz8P/BIP+M/6TX9SfPv892jV0ulTtT7+/KG7t8OeO+tLvW9rGlcq/9Iv60+e/R9s44XK2P/3+4nS0neli/DHjvvT7P73PrV370qgv/f6ZGpyf+UOn/enzz/x7Bg7Awr+bwdld3xqgfr41OP18a3D6+dYA9XX81gD18a0BuoYBnuKtwbnGYfj9Hy4fmn5/LkP12jC9NkyvDRfw2hDhtcEZ8NcGp1mcnVsTZc4NtviMC380Nep7L0K1HNwVAEpxFvPZi8fAqTkBMBY2LzTGBwnri52jxFf+h0s0eLtKbqu+x3C7BguXCD8vooFpuulvYom8GGddiDy5PevEW3rTqlvgvVQTdu1OKQiKM20QKcp8UDTncb5NhVoKBKB6EKEdy5EzAMLLL+bADYTADl40GNadLennFRGWAgTU4BqM6GEVyS22tDn5RjiV16IEgC+PvUDUjnSJAHP1AuRaCmr1FoLA4TLAKu+8W0p8IwWMWa3VBuachiwkzAAkH7vRdHzPrQavr9wVkRdNq2PftSLKnARiKZEHd2Oyz33qTvf5926LaQAcXuahzl4+TZ1cd07NVuD5+CLdseA+4vFpPLYOIR+Pz14HigxkdoFod8wD0ijMJ/OkI/d6fDvap7/wxue5Y6xsu8kaua2YU2CZ346zanLcCjeNPH6XpStpByxmhIpP+6NbN91mFsn8zv2TYDYub7wZWx+aKFKUnXx+hdzD8bslMxdZqOXsUz7RcHkbWQDkgy+hpwiI2JhECbt252V0cs/DJfIo4s6C7gZibK8/eu/NmicYSC/z8+RmN4uoJc/i2Ti2+daSMIA5l3dRcIIaUs2zVTBU//QjHAvvPbKCgZSnuSrdYqpV5dfecmHHdYxY4ljKJROApznz3/Ku2u7WbZyN4S+H29jBeKe782JXPMvvvHv8+Wgw3MLpu222XKIcwxOZRKt/yJtH8rM1WpJeeBCPTymlPGz4pN+MZ/dUkWiUagKVUSyYW07dyR/M3UrvoNwMnSNkK3brnoJ4R4yhcBAUGKJnubm5UhYVg/8lA3B8GjyAdq+sIFVHqQxRCsxicPgAEAjKxxgjmCKKPDyi7xx8SR8teiNINYlwZbqHVbzHR7fI8ckpTWUnzl7M6L5Ou01TyvJ8fNsOvuCIAcefKobhzTgbi2JRZyGr5GBn42Oeym6FdjxcGr9p85NHB1+Q8F56vWQ63nlEcq4ZAI3xYWrBkL6JCYa7AC1m6JnPHiWgxUC+iK0ntNg4b4mB/IPR4sNtco6gRfNRhPfGLJ2fjFN36xEg3nGzLuQPVz4sDJ8nnrJMgosGAqII0MANgLdw8akLEE9d0gHCsW0HAAeIbxV5yqFZ0Idno28JnP5hi3aA/p5F7R4nh4N0/wBbH12ZDNDpIbdx+u9/coCmo22cnvz7gzQdbWu0euZnXhscYLSdW4P094wG5+DwZ14bnJN7AzetGOTfsnusG50N0OmXtqEvnw0O8Mecbm26jwHmvW3gyzoboNvY/pd1NjjTc7Xchl2JQRphcE/WOxjkH+agfSRd) For more information, see to the [text-to-speech README](https://github.com/qualcomm/sample-apps-for-qualcomm-linux/blob/main/GenAI-Solutions/GenAI-Studio/core-services/text-to-speech/meloTTS/README.md). ### Speech-to-text The following image shows an example call flow sequence in a speech-to-text container. ![Call flow of the GenAI studio components and how they interact with each other in an application.](data:image/png;base64,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) For more information, see to the [speech-to-text README](https://github.com/qualcomm/sample-apps-for-qualcomm-linux/blob/main/GenAI-Solutions/GenAI-Studio/core-services/speech-to-text/README.md) and the [code flow files](https://github.com/qualcomm/sample-apps-for-qualcomm-linux/blob/main/GenAI-Solutions/GenAI-Studio/core-services/speech-to-text/CODE_FLOW.md). ## Setup GenAI Studio GenAI Studio is supported on IQ9 with both Qualcomm Linux distributions and Ubuntu on Qualcomm IoT platforms. Note Language models aren’t shipped with GenAI Studio. You must [generate a model using AI Hub](https://docs.qualcomm.com/doc/80-70030-15B/topic/genai-prepare-ai-hub.html). The following instructions are for Qualcomm Linux. 1. On the host computer, download the precompiled Qualcomm Linux build image for your EVK from [codelinaro](https://artifacts.codelinaro.org/ui/native/qli-ci/flashable-binaries/qimpsdk/). 2. From the host computer, [Flash the image](https://docs.qualcomm.com/doc/80-70030-254/topic/flash_images.html) to the target device. Note On QLI, Qualcomm-dependent DSP libraries and Docker are pre-installed. 3. Clone the repository to the target device and go to the local directory: git clone https://github.com/qualcomm/sample-apps-for-qualcomm-linux.git Copy to clipboard cd sample-apps-for-qualcomm-linux/GenAI-Solutions/GenAI-Studio Copy to clipboard 4. On the host computer, prepare the SDK (optional). Note This is only required if you are bringing up the full stack or a private STT or TTS service. qpm-cli --login Copy to clipboard qpm-cli --install VoiceAI_ASR -v 2.5.0.0 --path /opt/qcom/qpm/VoiceAI_ASR/2.5.0.0 --silent Copy to clipboard qpm-cli --install VoiceAI_TTS -v 1.1.1.0 --path /opt/qcom/qpm/VoiceAI_TTS/1.1.1.0 --silent Copy to clipboard TARGET_REPO=/path/to/genai-studio-on-target Copy to clipboard rsync -av /opt/qcom/qpm/VoiceAI_ASR/2.5.0.0/whisper_sdk/ \ ubuntu@:${TARGET_REPO}/core-services/speech-to-text/whisper_sdk/ Copy to clipboard rsync -av /opt/qcom/qpm/VoiceAI_TTS/1.1.1.0/melo_sdk/ \ ubuntu@:${TARGET_REPO}/core-services/text-to-speech/meloTTS/melo_sdk/ Copy to clipboard 5. From the sample app repository root directory on the target device, complete the preflight checks: Note Ensure that the device is properly provisioned before running the preflight checks. See For initial device provisioning, see [device setup](https://github.com/qualcomm/sample-apps-for-qualcomm-linux/blob/main/GenAI-Solutions/GenAI-Studio/docs/setup/DEVICE_SETUP.md). docker --version Copy to clipboard docker-compose version Copy to clipboard python3 --version Copy to clipboard ls -l /dev/fastrpc-cdsp Copy to clipboard ls /etc/cdi/ Copy to clipboard 6. Verify the QAIRT flat libs and `fastrpc` lib paths. ls -la /opt/qairt/current/qairt_245_flat_libs/ 2>/dev/null || echo "QAIRT flat libs not yet staged" Copy to clipboard echo "HOST_RPC_LIB_DIR=$HOST_RPC_LIB_DIR" Copy to clipboard cat .env Copy to clipboard 7. Prepare models for target. See each service’s model generation and setup documentation for more information. Tip Prepare the model folders under `/opt/genai-studio-models`. Table: Model generation and setup documentation | Service | Target path | Documentation | | --- | --- | --- | | Text-to-text | `/opt/genai-studio-models/text-to-text/...` | [core-services/text-to-text/MODEL_SETUP.md](https://github.com/qualcomm/sample-apps-for-qualcomm-linux/blob/main/GenAI-Solutions/GenAI-Studio/core-services/text-to-text/MODEL_SETUP.md) | | Image-to-text | `/opt/genai-studio-models/image-to-text/Lemans_LE_Gen2_QNN2_41_qwen25_vl_7B/files` | [core-services/image-to-text/MODEL_SETUP.md](https://github.com/qualcomm/sample-apps-for-qualcomm-linux/blob/main/GenAI-Solutions/GenAI-Studio/core-services/image-to-text/MODEL_SETUP.md) | | Text-to-image | `/opt/genai-studio-models/text-to-image/stable_diffusion_v2_1-qnn_context_binary-w8a16-qualcomm_qcs9075` | [core-services/text-to-image/MODEL_SETUP.md](https://github.com/qualcomm/sample-apps-for-qualcomm-linux/blob/main/GenAI-Solutions/GenAI-Studio/core-services/text-to-image/MODEL_SETUP.md) | | Speech-to-text | `/opt/genai-studio-models/speech-to-text/whisper_tiny-qnn_context_binary-float-qualcomm_qcs9075` | [core-services/speech-to-text/MODEL_SETUP.md](https://github.com/qualcomm/sample-apps-for-qualcomm-linux/blob/main/GenAI-Solutions/GenAI-Studio/core-services/speech-to-text/MODEL_SETUP.md) | | Text-to-speech | `/opt/genai-studio-models/text-to-speech/melo-tts-v73/files` | [core-services/text-to-speech/meloTTS/Model-Generation.md](https://github.com/qualcomm/sample-apps-for-qualcomm-linux/blob/main/GenAI-Solutions/GenAI-Studio/core-services/text-to-speech/meloTTS/Model-Generation.md) | 8. Build base images (one-time set up). bash scripts/download-qairt-sdk.sh --service base Copy to clipboard bash scripts/ubuntu-arm64.sh Copy to clipboard DOCKER_BUILDKIT=1 docker build --progress=plain -f Dockerfile.runtime -t ubuntu-runtime:24.04 . Copy to clipboard DOCKER_BUILDKIT=1 docker build --progress=plain -f Dockerfile.build-base -t genai-build-base:latest . Copy to clipboard 9. Build service images. See the service README files (for example, [core-services/README.md](https://github.com/qualcomm/sample-apps-for-qualcomm-linux/blob/main/GenAI-Solutions/GenAI-Studio/core-services/README.md)) for guidance to ensure all required files are in place. DOCKER_BUILDKIT=1 docker build --progress=plain -t text-to-text:latest core-services/text-to-text/ Copy to clipboard DOCKER_BUILDKIT=1 docker build --progress=plain -t image-to-text:responses-v1 core-services/image-to-text/ Copy to clipboard DOCKER_BUILDKIT=1 docker build --progress=plain -t text-to-image:latest core-services/text-to-image/ Copy to clipboard DOCKER_BUILDKIT=1 docker build --progress=plain -t speech-to-text:latest core-services/speech-to-text/ Copy to clipboard DOCKER_BUILDKIT=1 docker build --progress=plain -t text-to-speech:latest core-services/text-to-speech/meloTTS/ Copy to clipboard DOCKER_BUILDKIT=1 docker build --progress=plain -t orchestrator:latest core-services/orchestrator/ Copy to clipboard 10. Start services with `docker-compose`. See the [README](https://github.com/qualcomm/sample-apps-for-qualcomm-linux/tree/main/GenAI-Solutions/GenAI-Studio#7-start-services-with-docker-compose) for the recommended environment variables to set before running `docker-compose`. docker-compose up -d Copy to clipboard docker ps Copy to clipboard 11. Run service health checks and functional checks to verify if all services are running: curl -sf http://127.0.0.1:8080/health >/dev/null && echo "Image-to-Text (8080) OK" Copy to clipboard 12. Run the unified test suite: python3 -m pip install --user -r tests/unified/requirements.txt Copy to clipboard python3 tests/unified/run_manifest.py --target-host Copy to clipboard For functional endpoint checks and testing see [functional endpoint test](https://github.com/qualcomm/sample-apps-for-qualcomm-linux/tree/main/GenAI-Solutions/GenAI-Studio#3-functional-endpoint-tests) and the individual service README files. If any service fails to collect logs, see the service’s troubleshooting and pain point documents from the service’s `docs` folder. To check service logs run the following commands: docker-compose ps Copy to clipboard docker logs --tail 200 text-to-text Copy to clipboard docker logs --tail 200 image-to-text Copy to clipboard docker logs --tail 200 text-to-image Copy to clipboard docker logs --tail 200 speech-to-text Copy to clipboard docker logs --tail 200 text-to-speech Copy to clipboard docker logs --tail 200 orchestrator Copy to clipboard Last Published: Jul 13, 2026 [Previous Topic Develop a generative AI (GenAI) application](https://docs.qualcomm.com/bundle/publicresource/80-70030-15B/topics/develop-genai-app.md) [Next Topic Troubleshooting and FAQ](https://docs.qualcomm.com/bundle/publicresource/80-70030-15B/topics/troubleshooting-and-faq.md)