0 / 0
Adding generative chat function to your applications with the chat API
Last updated: Dec 06, 2024
Adding generative chat function to your applications with the chat API

Use the watsonx.ai chat API to build conversational workflows that use foundation models to generate answers.

The watsonx.ai chat API implements methods for interacting with foundation models in a conversational way. You can identify different message types, such as a system prompt, user inputs, and foundation model outputs, including user-specific follow-up questions and answers. Use the chat API to mimic the workflow that you get when you interact with a foundation model from the Prompt Lab in chat mode.

Supported foundation models

Foundation models with the following model IDs can be used to build a conversational workflow with the chat API:

  • ibm/granite-20b-code-instruct
  • ibm/granite-34b-code-instruct
  • ibm/granite-3-2b-instruct
  • ibm/granite-3-8b-instruct
  • meta-llama/llama-3-1-70b-instruct
  • meta-llama/llama-3-1-8b-instruct
  • meta-llama/llama-3-2-1b-instruct
  • meta-llama/llama-3-2-3b-instruct
  • meta-llama/llama-3-2-11b-vision-instruct
  • meta-llama/llama-3-2-90b-vision-instruct
  • meta-llama/llama-3-3-70b-instruct
  • meta-llama/llama-3-405b-instruct
  • meta-llama/llama-3-70b-instruct
  • meta-llama/llama-3-8b-instruct
  • meta-llama/llama-guard-3-11b-vision
  • mistralai/mistral-large

To programmatically get a list of foundation models that support the chat API, specify the filters=function_text_chat parameter when you submit a List the available foundation models method request.

See the API reference.

For example:

curl -X GET \
  'https://{region}.ml.cloud.ibm.com/ml/v1/foundation_model_specs?version=2024-10-10&filters=function_text_chat'

For more information about foundation models that support tool-calling, see Building agent-driven workflows with the chat API.

Sample notebooks

The following sample notebooks are available:

API details

For API method details, see the API reference documentation.

The following examples show you how to use the REST API for the following tasks:

Example of a multiple-user chat

For example, the following command submits a request to chat with the foundation model.

In the following example, replace the {url} variable with the right value for your instance, such as us-south.ml.cloud.ibm.com. Add your own bearer token and project ID.

curl --request POST '{url}/ml/v1/text/chat?version=2024-10-08'
-H 'Authorization: Bearer eyJhbGciOiJSUzUxM...'
-H 'Content-Type: application/json'
-H 'Accept: application/json'
-d '{
  "model_id": "meta-llama/llama-3-8b-instruct",
  "project_id": "4947c695-a374-428c-acca-332c1a1dc9e9",
  "messages": [
    {
      "role": "system",
      "content": "You are a helpful assistant that avoids causing harm. When you do not know the answer to a question, you say 'I don't know'."
    },
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "I have a question about Earth. How many moons does the Earth have?"
        }
      ]
    },
    {
      "role": "assistant",
      "content": "The Earth has one natural satellite, which is simply called the Moon."
    },
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "What about Saturn?"
        }
      ]
    }
  ],
  "max_tokens": 300,
  "time_limit": 1000
}'
  

Sample response:

{
  "id": "chat-45932923166b4607bde75207a0a9f5d4",
  "model_id": "meta-llama/llama-3-8b-instruct",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Saturn has a total of 82 confirmed moons!"
      },
      "finish_reason": "stop"
    }
  ],
  "created": 1728404199,
  "created_at": "2024-10-08T16:16:40.102Z",
  "usage": {
    "completion_tokens": 12,
    "prompt_tokens": 87,
    "total_tokens": 99
  },
  "system": {
    "warnings": [
      {
        "message": "This model is a Non-IBM Product governed by a third-party license that may impose use restrictions and other obligations. By using this model you agree to its terms as identified in the following URL.",
        "id": "disclaimer_warning",
        "more_info": "https://dataplatform.cloud.ibm.com/docs/content/wsj/analyze-data/fm-models.html?context=wx"
      }
    ]
  }
}

Example of chatting about an image

This example asks the model to explain what the following image illustrates.

A diagram that shows an example of effective alternative text for an image.

The sample code is equivalent to chatting with an image from the Prompt Lab. For details about the alternative method that uses the UI, see Chatting with uploaded images.

Image requirements for images that you reference from the chat API are as follows:

  • Add one image per chat
  • Supported file types are PNG or JPEG
  • One image is counted as approximately 1,200–3,000 tokens depending on the image size

For the image to be processed, you must encode the image as Base64, which converts the binary data for the image into a string of characters. You can use an online tool to convert the image or use code.

The following sample Python code encodes a hosted image. If you call the REST API from a Python notebook, you can use this code to encode the image. Then, when you define the POST request, you can specify the encoded_string variable as the url value.

import wget, os, base64

filename = 'image.png'
url = 'https://www.ibm.com/able/static/content_2_5_eg-241650b1f0e19a9f82206c9124b7895f.png'

if not os.path.isfile(filename):
    wget.download(url, out=filename)

with open(filename, 'rb') as image_file:
    encoded_string = base64.b64encode(image_file.read()).decode('utf-8')

The following REST API request uses the chat API to chat about an image that is specified with a Base64-encoded string.

In the following example, replace the '{url}variable with the right value for your instance, such asus-south.ml.cloud.ibm.com`. Add your own bearer token and project ID.

curl --request POST '{url}/ml/v1/text/chat?version=2024-10-09'
-H 'Authorization: Bearer eyJhbGciOiJSUzUxM...'
-H 'Content-Type: application/json'
-H 'Accept: application/json'
-d '{
    "model_id": "meta-llama/llama-3-2-11b-vision-instruct",
    "project_id": "4947c695-a374-428c-acca-332c1a1dc9e9",
    "messages": [
      {
        "role": "user",
        "content": [
          {
            "type": "image_url",
            "image_url": {
              "url": "data:image/png;base64,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AQIECBAgQKCtAgKwto6cdhMgQIAAAQIECBAgQIAAAQIECAwkIAAbiMlJBAgQIECAAAECBAgQIECAAAECbRUQgLV15LSbAAECBAgQIECAAAECBAgQIEBgIAEB2EBMTiJAgAABAgQIECBAgAABAgQIEGirwGxbG67dBAgQIECAQPsEVq9e3apGr1ixolXt1VgCBAgQIECAAIHFBQRgi7vYS4AAAQIECNQgcPDBB9dQqiIJECBAgAABAgQI9BawBLK3j6MECBAgQIAAAQIECBAgQIAAAQItFxCAtXwANZ8AAQIECBAgQIAAAQIECBAgQKC3gACst4+jBAgQIECAAAECBAgQIECAAAECLRcQgLV8ADWfAAECBAgQIECAAAECBAgQIECgt4AArLePowQIECBAgAABAgQIECBAgAABAi0XEIC1fAA1nwABAgQIECBAgAABAgQIECBAoLeAAKy3j6MECBAgQIAAAQIECBAgQIAAAQItFxCAtXwANZ8AAQIECBAgQIAAAQIECBAgQKC3gACst4+jBAgQIECAAAECBAgQIECAAAECLRcQgLV8ADWfAAECBAgQIECAAAECBAgQIECgt8Bs78OOEiBAgAABAgRGJ7B58+bRFTaGkmZmZorZWf9cGgO1KggQIECAAAECtQr4F12tvAonQIAAAQIEOgVOPPHEzrcT/3qXXXYpDjnkkIlvpwYSIECAAAECBAj0FrAEsrePowQIECBAgAABAgQIECBAgAABAi0XEIC1fAA1nwABAgQIECBAgAABAgQIECBAoLeAAKy3j6MECBAgQIAAAQIECBAgQIAAAQItFxCAtXwANZ8AAQIECBAgQIAAAQIECBAgQKC3gACst4+jBAgQIECAAAECBAgQIECAAAECLRcQgLV8ADWfAAECBAgQIECAAAECBAgQIECgt4AArLePowQIECBAgAABAgQIECBAgAABAi0XEIC1fAA1nwABAgQIECBAgAABAgQIECBAoLfAbO/DjhIgQIAAAQIERiewfv360RU2hpKWL18+hlpUQYAAAQIECBAgULeAAKxuYeUTIECAAAEC8wLr1q2bf+0FAQIECBAgQIAAgXEJWAI5Lmn1ECBAgAABAgQIECBAgAABAgQINCIgAGuEXaUECBAgQIAAAQIECBAgQIAAAQLjEhCAjUtaPQQIECBAgAABAgQIECBAgAABAo0ICMAaYVcpAQIECBAgQIAAAQIECBAgQIDAuAQEYOOSVg8BAgQIECBAgAABAgQIECBAgEAjAgKwRthVSoAAAQIECBAgQIAAAQIECBAgMC4BAdi4pNVDgAABAgQIECBAgAABAgQIECDQiIAArBF2lRIgQIAAAQIECBAgQIAAAQIECIxLQAA2Lmn1ECBAgAABAgQIECBAgAABAgQINCIw20itKiVAgAABAgSWpMAJJ5zQqn6vXLmyOOigg1rVZo0lQIAAAQIECBDYXkAAtr2JPQQIECBAgEBNApdddllNJddT7PLly+spWKkECBAgQIAAAQJjFbAEcqzcKiNAgAABAgQIECBAgAABAgQIEBi3gABs3OLqI0CAAAECBAgQIECAAAECBAgQGKuAAGys3CojQIAAAQIECBAgQIAAAQIECBAYt4AAbNzi6iNAgAABAgQIECBAgAABAgQIEBirgABsrNwqI0CAAAECBAgQIECAAAECBAgQGLeAAGzc4uojQIAAAQIECBAgQIAAAQIECBAYq8DsWGtTGQECBAgQIEBgigS2bt1aXHzxxTvco1y3atWqHb6ujgsuvfTSnsVOUltnZmb6ei9btmwibPvdF8uXL2+8nYPcv5PQztygGdd+plu2bGnctPowbd68uW97J+F/A/q1c9u2bRNj2qbPf+6D3K9pc7dt5cqV3Q7ZT4BATQICsJpgFUuAAAECBAhsL7D77rtvv3OC96xYsaJn6xIenXLKKT3PmfSDZ5xxxqQ3cb59mzZtKs4555z595P6Iu3cuHHjpDZvvl1p59lnnz3/ftJftOmzFts2bG37/J977rltYC3beOqpp9ba1oSTNgIEdkxAALZjXs4mQIAAAQIEdkLggAMO2ImrJ+vSvffeu8gMGhsBAgQIEBi3wHHHHTfuKtVHoPUCArDWD6EOECBAgAABAk0I7Lbbbk1Uq04CBAgQIECAAIEhBDwEfwg0lxAgQIAAAQIECBAgQIAAAQIECLRHQADWnrHSUgIECBAgQIAAAQIECBAgQIAAgSEEBGBDoLmEAAECBAgQIECAAAECBAgQIECgPQICsPaMlZYSIECAAAECBAgQIECAAAECBAgMISAAGwLNJQQIECBAgAABAgQIECBAgAABAu0REIC1Z6y0lAABAgQIECBAgAABAgQIECBAYAiB2SGucQkBAgQIECBAgMBOCGzbtq3YsmXLTpQwuktnZ/v/c/Cyyy4bXYU7UdKyZcuKfPXa4hrfJjftHL3+zMxMsXz58p4FT9LnKm1Nm3ttk/C5aks74zjI52rr1q1FviZh6/e/rZMw/pPgpA0ExinQ/18842yNuggQIECAAAECS0Bg48aNxVlnnTURPT344IOL1atXd21LAqUTTjih6/FxHthzzz2Lfffdt2eVZ5xxRnHBBRf0PKfug3Nzc8U+++zTs5rTTz+9uOiii3qeU/fBvffeu9hrr716VnPaaacVmzZt6nnOOA4mTDj00EN7VnXuuecWZ555Zs9zxnXwwAMPLHbbbbee1U3C5+qggw4qdt11167tTJg0Ce1MA9esWVPst99+XduaA/n8n3/++T3PGdfBww47rGcIetJJJ+1UWJeAtemwf1yW6iEwKoHe/wltVLUohwABAgQIECBAgAABAgQIECBAgEBDAgKwhuBVS4AAAQIECBAgQIAAAQIECBAgMB4BAdh4nNVCgAABAgQIECBAgAABAgQIECDQkIAArCF41RIgQIAAAQIECBAgQIAAAQIECIxHQAA2Hme1ECBAgAABAgQIECBAgAABAgQINCQgAGsIXrUECBAgQIAAAQIECBAgQIAAAQLjERCAjcdZLQQIECBAgAABAgQIECBAgAABAg0JzDZUr2oJECBAgAABAktWYNWqVcW6desmov+zs73/Obhs2bKJaWvc+m177LFHsXLlyn6n1Xp89erVfctPOwfpT9+CduKEQdq5Zs2aYtddd92JWkZzae7Dftsuu+wyMffqihUr+jV3Itrar50zMzMT0c5gDvJ52X333Yt+feo7MCM6IXa9trm5uWLbtm29TnGMAIERC/T+F8+IK1McAQIECBAgQIBAUQYKkxAqDDIW+SVu/fr1g5w6EecksGnDtnbt2jY0s8gv6W3ZEugNEupNSn/a8Lny+a/vbtl77713qnDh2U7xuXiJCvT/TylLFEa3CRAgQIAAAQIECBAgQIAAAQIEpkNAADYd46gXBAgQIECAAAECBAgQIECAAAECXQQEYF1g7CZAgAABAgQIECBAgAABAgQIEJgOAQHYdIyjXhAgQIAAAQIECBAgQIAAAQIECHQREIB1gbGbAAECBAgQIECAAAECBAgQIEBgOgQEYNMxjnpBgAABAgQIECBAgAABAgQIECDQRUAA1gXGbgIECBAgQIAAAQIECBAgQIAAgekQEIBNxzjqBQECBAgQIECAAAECBAgQIECAQBcBAVgXGLsJECBAgAABAgQIECBAgAABAgSmQ0AANh3jqBcECBAgQIAAAQIECBAgQIAAAQJdBARgXWDsJkCAAAECBAgQIECAAAECBAgQmA4BAdh0jKNeECBAgAABAgQIECBAgAABAgQIdBGY7bLfbgIECBAgQIBAX4F/f+D7fc9xAgECBAgQIDBigVUjLk9xBJaAgABsCQyyLhIgQIAAgboETn/tZ+sqWrkECBAgQIBAN4FX3LTbEfsJEOgiYAlkFxi7CRAgQIAAAQIECBAgQIAAAQIEpkNAADYd46gXBAgQIECAAAECBAgQIECAAAECXQQsgewCYzcBAgQIECCwvcD6R912+532ECBAgAABAmMV+HOxaaz1qYzANAgIwKZhFPWBAAECBAiMSWC/F917TDWphgABAgQIEOgq8LGPdT3kAAECiwtYArm4i70ECBAgQIAAAQIECBAgQIAAAQJTIiAAm5KB1A0CBAgQIECAAAECBAgQIECAAIHFBQRgi7vYS4AAAQIECBAgQIAAAQIECBAgMCUCArApGUjdIECAAAECBAgQIECAAAECBAgQWFxAALa4i70ECBAgQIAAAQIECBAgQIAAAQJTIiAAm5KB1A0CBAgQIECAAAECBAgQIECAAIHFBQRgi7vYS4AAAQIECBAgQIAAAQIECBAgMCUCArApGUjdIECAAAECBLYXOPnkk4vvfOc72x+4fE+vY4teYGdjAu973/tGUvdFF13UtZyLL764uPTSSxc9vmnTpkX320mAAAECBAi0R0AA1p6x0lICBAgQIDAVAje+8Y2Lhz/84VfoS4KHG97whsWznvWsK+zf0TdnnHFG8ZnPfGb+sj//+c/Fpz71qfn3nS96Hes8z+v+AgkZjz/++P4nDnnGq1/96iGv/O9l3//+94t73OMexd3udrfiXve6V/HjH/94vrzNmzcXT3nKU4qjjjqquMMd7lC8/OUvnz92zjnnFE972tOK//u//yte97rXze/Pi6c+9anF9773vSvs84YAAQIECBCYXAEB2OSOjZYRIECAAIGpFTj11FOL3/zmN/P9O/bYY4vdd999/v2wL/75z38WX/va14a93HVDCiQIOuGEE4a8ut7LEq6++MUvLt785jeXgdXTn/70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ECBAgAABAgQIECBAgAABAm0QEIC1YZS0kQABAgQIECBAgAABAgQIECBAYGgBAdjQdC4kQIAAAQIECBAgQIAAAQIECBBog4AArA2jpI0ECBAgQIAAAQIECBAgQIAAAQJDCwjAhqZzIQECBAgQIECAAAECBAgQIECAQBsEBGBtGCVtJECAAAECBAgQIECAAAECBAgQGFpAADY0nQsJECBAgAABAgQIECBAgAABAgTaICAAa8MoaSMBAgQIECBAgAABAgQIECBAgMDQAgKwoelcSIAAAQIECBAgQIAAAQIECBAg0AaB2TY0UhsJECBAgACB6RDYuHHjdHRELwgQIEBgpAJzc3MjLU9hBAgQWCggAFso4j0BAgQIECBQm8CGDRtqK1vBBAgQINBeAQFYe8dOywm0RcASyLaMlHYSIECAAAECBAgQIECAAAECBAgMJSAAG4rNRQQIECBAgAABAgQIECBAgAABAm0REIC1ZaS0kwABAgQIECBAgAABAgQIECBAYCgBAdhQbC4iQIAAAQIECBAgQIAAAQIECBBoi4AArC0jpZ0ECBAgQIAAAQIECBAgQIAAAQJDCQjAhmJzEQECBAgQIECAAAECBAgQIECAQFsEBGBtGSntJECAAAECBAgQIECAAAECBAgQGEpAADYUm4sIECBAgAABAgQIECBAgAABAhVle/EAABZ9SURBVATaIiAAa8tIaScBAgQIECBAgAABAgQIECBAgMBQAgKwodhcRIAAAQIECBAgQIAAAQIECBAg0BYBAVhbRko7CRAgQIAAAQIECBAgQIAAAQIEhhIQgA3F5iICBAgQIECAAAECBAgQIECAAIG2CMy2paHaSYAAAQIECLRfYN26de3vhB4QIECAAAECBAi0TkAA1roh02ACBAgQINBegfXr17e38VpOgAABAgQIECDQWgFLIFs7dBpOgAABAgQIECBAgAABAgQIECAwiIAAbBAl5xAgQIAAAQIECBAgQIAAAQIECLRWQADW2qHTcAIECBAgQIAAAQIECBAgQIAAgUEEBGCDKDmHAAECBAgQIECAAAECBAgQIECgtQICsNYOnYYTIECAAAECBAgQIECAAAECBAgMIiAAG0TJOQQIECBAgAABAgQIECBAgAABAq0VmG1tyzWcAAECBAgQaJ3Axo0bW9dmDSZAgACBHReYm5vb8YtcQYAAgRoFBGA14iqaAAECBAgQuKLAhg0brrjDOwIECBCYSgEB2FQOq04RaLWAJZCtHj6NJ0CAAAECBAgQIECAAAECBAgQ6CcgAOsn5DgBAgQIECBAgAABAgQIECBAgECrBQRgrR4+jSdAgAABAgQIECBAgAABAgQIEOgnIADrJ+Q4AQIECBAgQIAAAQIECBAgQIBAqwUEYK0ePo0nQIAAAQIECBAgQIAAAQIECBDoJyAA6yfkOAECBAgQIECAAAECBAgQIECAQKsFBGCtHj6NJ0CAAAECBAgQIECAAAECBAgQ6CcgAOsn5DgBAgQIECBAgAABAgQIECBAgECrBQRgrR4+jSdAgAABAgQIECBAgAABAgQIEOgnIADrJ+Q4AQIECBAgQIAAAQIECBAgQIBAqwUEYK0ePo0nQIAAAQIECBAgQIAAAQIECBDoJyAA6yfkOAECBAgQIECAAAECBAgQIECAQKsFZlvdeo0nQIAAAQIEWiWwbt26VrVXYwkQIECAAAECBKZDQAA2HeOoFwQIECBAoBUC69evb0U7NZIAAQIECBAgQGC6BCyBnK7x1BsCBAgQIECAAAECBAgQIECAAIEFAgKwBSDeEiBAgAABAgQIECBAgAABAgQITJeAAGy6xlNvCBAgQIAAAQIECBAgQIAAAQIEFggIwBaAeEuAAAECBAgQIECAAAECBAgQIDBdAgKw6RpPvSFAgAABAgQIECBAgAABAgQIEFggIABbAOItAQIECBAgQIAAAQIECBAgQIDAdAnMTld39IYAAQIECBCYZIGNGzdOcvO0jQABAgS6CMzNzXU5YjcBAgTaISAAa8c4aSUBAgQIEJgKgQ0bNkxFP3SCAAECS01AALbURlx/CUyfgCWQ0zemekSAAAECBAgQIECAAAECBAgQINAhIADrwPCSAAECBAgQIECAAAECBAgQIEBg+gQEYNM3pnpEgAABAgQIECBAgAABAgQIECDQISAA68DwkgABAgQIECBAgAABAgQIECBAYPoEBGDTN6Z6RIAAAQIECBAgQIAAAQIECBAg0CEgAOvA8JIAAQIECBAgQIAAAQIECBAgQGD6BARg0zemekSAAAECBAgQIECAAAECBAgQINAhIADrwPCSAAECBAgQIECAAAECBAgQIEBg+gQEYNM3pnpEgAABAgQIECBAgAABAgQIECDQISAA68DwkgABAgQIECBAgAABAgQIECBAYPoEBGDTN6Z6RIAAAQIECBAgQIAAAQIECBAg0CEgAOvA8JIAAQIECBAgQIAAAQIECBAgQGD6BGanr0t6RIAAAQIECEyqwLp16ya1adpFgAABAgQIECAwxQICsCkeXF0jQIAAAQKTJrB+/fpJa5L2ECBAgAABAgQILAEBSyCXwCDrIgECBAgQIECAAAECBAgQIEBgKQsIwJby6Os7AQIECBAgQIAAAQIECBAgQGAJCAjAlsAg6yIBAgQIECBAgAABAgQIECBAYCkLCMCW8ujrOwECBAgQIECAAAECBAgQIEBgCQgIwJbAIOsiAQIECBAgQIAAAQIECBAgQGApCwjAlvLo6zsBAgQIECBAgAABAgQIECBAYAkIzC6BPuoiAQIECBAgMCECGzdunJCWaAYBAgQI1CkwNzdXZ/HKJkCAwA4LCMB2mMwFBAgQIECAwLACGzZsGPZS1xEgQIBAiwQEYC0aLE0lsEQELIFcIgOtmwQIECBAgAABAgQIECBAgACBpSogAFuqI6/fBAgQINBqgZmZma7t73Ws60UOECBAgAABAgQIEJhiAQHYFA+urhEgQIDA9AksFm5lX7f90yegRwQIECBAgAABAgR2XEAAtuNmriBAgAABAo0ILAy5Fgu+FjunkcaqlAABAgQIECBAgMAECQjAJmgwNIUAAQIECHQT6Ay2FgZfg7zvVq79BAgQIECAAAECBJaCgL8CuRRGWR8JECBAYCoFOkOxdHDh+6nstE4RIECAAAECBAgQGEJAADYEmksIECBAgEBTAouFXNu2bZtvTjUbrPo5f8ALAgQIECBAgAABAktYQAC2hAdf1wkQIECgXQIJtRaGXelBFYotW7b9kw2qY+3qqdYSIECAAAECBAgQGK2AAGy0nkqbUoHjjz9+SnumWwQItEVg69atZVOrACw/q9cL+9A5+6sKwBYLxxZe5z0BAgQIEBiVgH8/j0pSOQQIjEpAADYqSeVMtcBxxx031f3TOQIEJl9gscCrVwDW2aPOQKxzv9cECBAgQIAAAQIEloqAAGypjLR+EiBAgEDrBRJkdYZe1eyuXh0b5Jxe1ztGgAABAgQIECBAYBoEtn9YyDT0Sh8IECBAgMCUCuxIoLUj504pl24RIECAAAECBAgQKAUEYG4EAgQIECDQAoHOMKvzdbemd57T+brb+fYTIECAAAECBAgQmGYBSyCneXT1jQABAgSmSiBBVrUEctBQa9DzpgpKZwgQIECAAAECBAgsEBCALQDxlgABAgQITLJAFWhVQVi3tlbndTtuPwECBAgQIECAAIGlJCAAW0qjra8ECBAgMDUCAq6pGUodIUCAAAECBAgQGIOAZ4CNAVkVBAgQIECAAAECBAgQIECAAAECzQkIwJqzVzMBAgQIECBAgAABAgQIECBAgMAYBARgY0BWBQECBAgQIECAAAECBAgQIECAQHMCArDm7NVMgAABAgQIECBAgAABAgQIECAwBgEB2BiQVUGAAAECBAgQIECAAAECBAgQINCcgACsOXs1EyBAgAABAgQIECBAgAABAgQIjEFAADYGZFUQIECAAAECBAgQIECAAAECBAg0JyAAa85ezQQIECBAgAABAgQIECBAgAABAmMQEICNAVkVBAgQIECAAAECBAgQIECAAAECzQkIwJqzVzMBAgQIECBAgAABAgQIECBAgMAYBARgY0BWBQECBAgQIECAAAECBAgQIECAQHMCArDm7NVMgAABAgQIECBAgAABAgQIECAwBgEB2BiQVUGAAAECBAgQIECAAAECBAgQINCcgACsOXs1EyBAgAABAgQIECBAgAABAgQIjEFAADYGZFUQIECAAAECBAgQIECAAAECBAg0JyAAa85ezQQIECBAgAABAgQIECBAgAABAmMQEICNAVkVBAgQIECAAAECBAgQIECAAAECzQkIwJqzVzMBAgQIECBAgAABAgQIECBAgMAYBARgY0BWBQECBAgQIECAAAECBAgQIECAQHMCArDm7NVMgAABAgQIECBAgAABAgQIECAwBgEB2BiQVUGAAAECBAgQIECAAAECBAgQINCcgACsOXs1EyBAgAABAgQIECBAgAABAgQIjEFAADYGZFUQIECAAAECBAgQIECAAAECBAg0JyAAa85ezQQIECBAgAABAgQIECBAgAABAmMQEICNAVkVBAgQIECAAAECBAgQIECAAAECzQkIwJqzVzMBAgQIECBAgAABAgQIECBAgMAYBGbHUIcqCAwtsMceewx9rQsJECBAgAABAgQIECBAgAABAhEQgLkPJlpgbm5uotuncQQIECBAgAABAgQIECBAgMDkCwjAJmSMtmzZUmzatKnYunXrhLRIMwgQIECAAAECBAgQIECAAIFhBZYtW1asWrWqWL58+bBFuG6EAgKwEWIOW9R5551XnHPOOcNe7joCBAgQIECAAAECBAgQIEBgQgXWrl1brFmzZkJbt3Sa5SH4DY/1hRdeKPxqeAxUT4AAAQIECBAgQIAAAQIE6hLIhJf87m9rVkAA1qx/cf755zfcAtUTIECAAAECBAgQIECAAAECdQr43b9O3cHKFoAN5lTbWZs3b66tbAUTIECAAAECBAgQIECAAAECzQv43b/5MRCANTwG27Zta7gFqidAgAABAgQIECBAgAABAgTqFPC7f526g5UtABvMyVkECBAgQIAAAQIECBAgQIAAAQItFRCAtXTgNJsAAQIECBAgQIAAAQIECBAgQGAwAQHYYE7OIkCAAAECBAgQIECAAAECBAgQaKmAAKylA6fZBAgQIECAAAECBAgQIECAAAECgwkIwAZzchYBAgQIECBAgAABAgQIECBAgEBLBQRgDQ/czMxMwy1QPQECBAgQIECAAAECBAgQIEBgugUEYA2P74oVKxpugeoJECBAgAABAgQIECBAgACBOgX87l+n7mBlC8AGc6rtrD322KO2shVMgAABAgQIECBAgAABAgQINC/gd//mx0AA1vAY7LbbbsXatWsLSyEbHgjVEyBAgAABAgQIECBAgACBGgTWrFlT7L777jWUrMgdEZjdkZOdW49APgwJwi688MLya/PmzfVUpFQCBAgQIECAAAECBAgQIECgdoFly5aVv+dn5tfsrOildvABKjAKAyCN45Tly5cXCcLydemll86HYVu3bh1H9eogQIAAAQIECBAgQIAAAQIEdlJgl112KWd77brrrlZ67aTlqC8XgI1adATlrVy5ssjX3NxccfHFF89/bdmyZQSlK4IAAQIECBAgQIAAAQIECBAYlUAecL969epyxpeH3Y9KdfTlCMBGbzrSEvMhyle2zAzbtGlTGYjl9bZt20Zal8IIECBAgAABAgQIECBAgACB/gKZtJLf1TPTS+jV32sSzhCATcIoDNiGamZYlklmaWTCsEsuuaQMxgRiAyI6jQABAgQIECBAgAABAgQI7KBAHluU5Y2rVq0qvzzXawcBJ+B0AdgEDMIwTcgD9ZI05ytbZoMlBMtXQrF8WTI5jKxrCBAgQIAAAQIECBAgQGCpC+R37oRdVehlllf77wgBWPvHsOzBzMxM+cHMhzN/ZSJbZoklELvsssuK/GXJfOW9B+uXPL4RIECAAAECBAgQIECAAIEis7uqFVcJuvLaDK/puzEEYNM3pvM9qhLr+R3/e5GZYQnFqq+F7xee7z0BAgQIECBAgAABAgQIEGizQCaNJNTKV0Ku6nXCrvzubJt+AQHY9I/xdj1Mul2tX154MEspM0Ms4Vh+Jhzr9dOD+BcKek+AAAECBAgQIECAAAEC4xRIgFX9npufeZ+Aq/qZfXlvW9oC7oClPf7b9T6pePU/HNsd7LIjAVmCsCo8q3527q8urQKz6vxqf35Wxzr3eU2AAAECBAgQIECAAAEC0y2Q30Oz9fqZMKvzK+fmK/tsBAYREIANouScngL+B6cnj4MECBAgQIAAAQIECBAgQIBAwwKi0oYHQPUECBAgQIAAAQIECBAgQIAAAQL1CgjA6vVVOgECBAgQIECAAAECBAgQIECAQMMCArCGB0D1BAgQIECAAAECBAgQIECAAAEC9QoIwOr1VToBAgQIECBAgAABAgQIECBAgEDDAgKwhgdA9QQIECBAgAABAgQIECBAgAABAvUKCMDq9VU6AQIECBAgQIAAAQIECBAgQIBAwwICsIYHQPUECBAgQIAAAQIECBAgQIAAAQL1CgjA6vVVOgECBAgQIECAAAECBAgQIECAQMMCArCGB0D1BAgQIECAAAECBAgQIECAAAEC9QoIwOr1VToBAgQIECBAgAABAgQIECBAgEDDAgKwhgdA9QQIECBAgAABAgQIECBAgAABAvUKCMDq9VU6AQIECBAgQIAAAQIECBAgQIBAwwICsIYHQPUECBAgQIAAAQIECBAgQIAAAQL1CgjA6vVVOgECBAgQIECAAAECBAgQIECAQMMCArCGB0D1BAgQIECAAAECBAgQIECAAAEC9QoIwOr1VToBAgQIECBAgAABAgQIECBAgEDDAgKwhgdA9QQIECBAgAABAgQIECBAgAABAvUKCMDq9VU6AQIECBAgQIAAAQIECBAgQIBAwwICsIYHQPUECBAgQIAAAQIECBAgQIAAAQL1CgjA6vVVOgECBAgQIECAAAECBAgQIECAQMMCArCGB0D1BAgQIECAAAECBAgQIECAAAEC9QoIwOr1VToBAgQIECBAgAABAgQIECBAgEDDAgKwhgdA9QQIECBAgAABAgQIECBAgAABAvUKCMDq9VU6AQIECBAgQIAAAQIECBAgQIBAwwICsIYHQPUECBAgQIAAAQIECBAgQIAAAQL1CgjA6vVVOgECBAgQIECAAAECBAgQIECAQMMCArCGB0D1BAgQIECAAAECBAgQIECAAAEC9QoIwOr1VToBAgQIECBAgAABAgQIECBAgEDDAgKwhgdA9QQIECBAgAABAgQIECBAgAABAvUKCMDq9VU6AQIECBAgQIAAAQIECBAgQIBAwwICsIYHQPUECBAgQIAAAQIECBAgQIAAAQL1CgjA6vVVOgECBAgQIECAAAECBAgQIECAQMMCArCGB0D1BAgQIECAAAECBAgQIECAAAEC9QoIwOr1VToBAgQIECBAgAABAgQIECBAgEDDAgKwhgdA9QQIECBAgAABAgQIECBAgAABAvUKCMDq9VU6AQIECBAgQIAAAQIECBAgQIBAwwICsIYHQPUECBAgQIAAAQIECBAgQIAAAQL1CgjA6vVVOgECBAgQIECAAAECBAgQIECAQMMCArCGB0D1BAgQIECAAAECBAgQIECAAAEC9QoIwOr1VToBAgQIECBAgAABAgQIECBAgEDDAgKwhgdA9QQIECBAgAABAgQIECBAgAABAvUKCMDq9VU6AQIECBAgQIAAAQIECBAgQIBAwwICsIYHQPUECBAgQIAAAQIECBAgQIAAAQL1CgjA6vVVOgECBAgQIECAAAECBAgQIECAQMMCArCGB0D1BAgQIECAAAECBAgQIECAAAEC9QoIwOr1VToBAgQIECBAgAABAgQIECBAgEDDAgKwhgdA9QQIECBAgAABAgQIECBAgAABAvUKCMDq9VU6AQIECBAgQIAAAQIECBAgQIBAwwICsIYHQPUECBAgQIAAAQIECBAgQIAAAQL1CgjA6vVVOgECBAgQIECAAAECBAgQIECAQMMCArCGB0D1BAgQIECAAAECBAgQIECAAAEC9QoIwOr1VToBAgQIECBAgAABAgQIECBAgEDDAgKwhgdA9QQIECBAgAABAgQIECBAgAABAvUKCMDq9VU6AQIECBAgQIAAAQIECBAgQIBAwwICsIYHQPUECBAgQIAAAQIECBAgQIAAAQL1CgjA6vVVOgECBAgQIECAAAECBAgQIECAQMMCM6eeeuoBDbdB9QQIECBAgAABAgQIECBAgAABAgRqE/h/j6fziDgp3B0AAAAASUVORK5CYII="
            }
          },
          {
            "type": "text",
            "text": "What does the image convey about alternative image text?"
          }
        ]
      }
    ],
    "max_tokens": 300,
    "time_limit": 10000
  }'

Sample response:

{
  "id": "chat-f5f3ab2b8d7f4657b72a4f868e24f3fd",
  "model_id": "meta-llama/llama-3-2-90b-vision-instruct",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "The image shows a bar chart on a laptop screen with alternative image text that describes the content of the image. The alternative image text is \"bar chart showing month's daily sales against historical average.\" This text provides a clear and concise description of the image, allowing users who cannot see the image to understand its content.\n\n**Key Points:**\n\n*   The image is a bar chart on a laptop screen.\n*   The alternative image text describes the content of the image.\n*   The alternative image text is \"bar chart showing month's daily sales against historical average.\"\n*   The text provides a clear and concise description of the image.\n\n**Conclusion:**\n\nThe image conveys that alternative image text should be used to provide a clear and concise description of an image, even if the image cannot be seen. This is important for accessibility reasons, as it allows users who cannot see the image to still understand its content."
      },
      "finish_reason": "stop"
    }
  ],
  "created": 1728564568,
  "model_version": "3.2.0",
  "created_at": "2024-10-10T12:49:35.286Z",
  "usage": {
    "completion_tokens": 184,
    "prompt_tokens": 21,
    "total_tokens": 205
  },
  "system": {
    "warnings": [
      {
        "message": "This model is a Non-IBM Product governed by a third-party license that may impose use restrictions and other obligations. By using this model you agree to its terms as identified in the following URL.",
        "id": "disclaimer_warning",
        "more_info": "https://dataplatform.cloud.ibm.com/docs/content/wsj/analyze-data/fm-models.html?context=wx"
      }
    ]
  }
}

Troubleshooting the chat API

If the response is in HTML format and mentions Gateway time-out, the request probably took too long and expired. Increase the value of the time_limit field that you specify in the request.

Learn more

Parent topic: Coding generative AI solutions

Generative AI search and answer
These answers are generated by a large language model in watsonx.ai based on content from the product documentation. Learn more