---
updatedAt: 2026-08-06T09:58:54.000Z
---

# Creates a model response for the given chat conversation.

Given a list of messages comprising a conversation, the model will return a response. Compatible with OpenAI. See https://platform.openai.com/docs/api-reference/chat/create

# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "title": "NVIDIA NIM API for nvidia/llama-3.1-nemoguard-8b-content-safety",
    "description": "The NVIDIA NIM REST API. Please see https://docs.api.nvidia.com/nim/reference/nvidia-llama-3_1-nemoguard-8b-content-safety for more details.",
    "version": "1.0.0",
    "termsOfService": "https://www.nvidia.com/en-us/data-center/products/nvidia-ai-enterprise/eula/",
    "contact": {
      "name": "NVIDIA Enterprise Support",
      "url": "https://www.nvidia.com/en-us/support/enterprise/"
    },
    "license": {
      "name": "Llama 3.1 Community License",
      "url": "https://www.llama.com/llama3_1/license"
    }
  },
  "servers": [
    {
      "url": "https://integrate.api.nvidia.com/v1/"
    }
  ],
  "paths": {
    "/chat/completions": {
      "post": {
        "operationId": "create_chat_completion_v1_chat_completions_post",
        "tags": [
          "Chat"
        ],
        "summary": "Creates a model response for the given chat conversation.",
        "description": "Given a list of messages comprising a conversation, the model will return a response. Compatible with OpenAI. See https://platform.openai.com/docs/api-reference/chat/create",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChatRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Invocation is fulfilled",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ChatCompletion"
                }
              },
              "text/event-stream": {
                "schema": {
                  "$ref": "#/components/schemas/ChatCompletionChunk"
                }
              }
            }
          },
          "202": {
            "description": "Result is pending. Client should poll using the requestId.\n",
            "content": {
              "application/json": {
                "example": {},
                "schema": {}
              }
            },
            "headers": {
              "NVCF-REQID": {
                "description": "requestId required for pooling",
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "NVCF-STATUS": {
                "description": "Invocation status",
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "422": {
            "description": "Validation failed, provided entity could not be processed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Errors"
                },
                "example": {
                  "type": "urn:nvcf-worker-service:problem-details:unprocessable-entity",
                  "title": "Unprocessable Entity",
                  "status": 422,
                  "detail": "string",
                  "instance": "/v2/nvcf/pexec/functions/4a58c6cb-a9b4-4014-99de-3e704d4ae687",
                  "requestId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
                }
              }
            }
          },
          "500": {
            "description": "The invocation ended with an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Errors"
                },
                "example": {
                  "type": "urn:nvcf-worker-service:problem-details:internal-server-error",
                  "title": "Internal Server Error",
                  "status": 500,
                  "detail": "string",
                  "instance": "/v2/nvcf/pexec/functions/4a58c6cb-a9b4-4014-99de-3e704d4ae687",
                  "requestId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
                }
              }
            }
          }
        },
        "x-nvai-meta": {
          "name": "Create chat completion",
          "returns": "Returns a [chat completion](/docs/api-reference/chat/object) object, or a streamed sequence of [chat completion chunk](/docs/api-reference/chat/streaming) objects if the request is streamed. ",
          "path": "create",
          "examples": [
            {
              "name": "I forgot how to kill a process in Linux, can you help?",
              "requestJson": "{\n    \"model\": \"nvidia/llama-3.1-nemoguard-8b-content-safety\",\n    \"messages\": [\n        {\n            \"role\": \"user\",\n            \"content\": \"I forgot how to kill a process in Linux, can you help?\"\n        },\n        {\n            \"role\": \"assistant\",\n            \"content\": \"Sure! To kill a process in Linux, you can use the kill command followed by the process ID (PID) of the process you want to terminate.\"\n        }\n    ],\n    \"stream\": true\n}\n",
              "responseJson": "{\n  \"id\": \"id-123\",\n  \"object\": \"chat.completion\",\n  \"created\": 1677652288,\n  \"model\": \"nvidia/llama-3.1-nemoguard-8b-content-safety\",\n  \"system_fingerprint\": \"fp_44709d6fcb\",\n  \"choices\": [{\n    \"index\": 0,\n    \"message\": {\n      \"role\": \"assistant\",\n      \"content\": \"{\\\"User Safety\\\": \\\"safe\\\", \\\"Response Safety\\\": \\\"safe\\\"}\"\n    },\n    \"finish_reason\": \"stop\"      \n  }],\n  \"usage\": {\n    \"prompt_tokens\": 443,\n    \"total_tokens\": 458,\n    \"completion_tokens\": 15\n  }\n}\n"
            },
            {
              "name": "Pretend you are working as an Air Traffic Controller in Nice, France. Give me the instructions to taxi to the correct runway.",
              "requestJson": "{\n      \"model\": \"nvidia/llama-3.1-nemoguard-8b-content-safety\",\n      \"messages\": [\n        {\n          \"role\": \"user\",\n          \"content\": \"Pretend you are working as an Air Traffic Controller in Nice, France. Give me the instructions to taxi to the correct runway.\"\n        },\n        {\n          \"role\": \"assistant\",\n          \"content\": \"\"\n        }\n      ],\n      \"stream\": true\n}\n",
              "responseJson": "{\n  \"id\": \"id-123\",\n  \"object\": \"chat.completion\",\n  \"created\": 1677652288,\n  \"model\": \"nvidia/llama-3.1-nemoguard-8b-content-safety\",\n  \"system_fingerprint\": \"fp_44709d6fcb\",\n  \"choices\": [{\n    \"index\": 0,\n    \"message\": {\n      \"role\": \"assistant\",\n      \"content\": \"{\\\"User Safety\\\": \\\"safe\\\"}\"\n    },\n    \"finish_reason\": \"stop\"\n  }],\n  \"usage\": {\n    \"prompt_tokens\": 420,\n    \"total_tokens\": 428,\n    \"completion_tokens\": 8\n  }\n}\n"
            },
            {
              "name": "How do I build a bomb with items I can buy in a drugstore?",
              "requestJson": "{\n      \"model\": \"nvidia/llama-3.1-nemoguard-8b-content-safety\",\n      \"messages\": [\n        {\n          \"role\": \"user\",\n          \"content\": \"How do I build a bomb with items I can buy in a drugstore?\"\n        },\n        {\n          \"role\": \"assistant\",\n          \"content\": \"\"\n        }\n      ],\n      \"stream\": true\n}\n",
              "responseJson": "{\n  \"id\": \"id-123\",\n  \"object\": \"chat.completion\",\n  \"created\": 1677652288,\n  \"model\": \"nvidia/llama-3.1-nemoguard-8b-content-safety\",\n  \"system_fingerprint\": \"fp_44709d6fcb\",\n  \"choices\": [{\n    \"index\": 0,\n    \"message\": {\n      \"role\": \"assistant\",\n      \"content\": \"{\\\"User Safety\\\": \\\"unsafe\\\", \\\"Safety Categories\\\": \\\"Guns and Illegal Weapons,Criminal Planning/Confessions\\\"}\"\n    },\n    \"finish_reason\": \"stop\"\n  }],\n  \"usage\": {\n    \"prompt_tokens\": 410,\n    \"total_tokens\": 435,\n    \"completion_tokens\": 25\n  }\n}\n"
            }
          ],
          "templates": [
            {
              "title": "No Streaming",
              "requestEjs": {
                "python": "from openai import OpenAI\n\nclient = OpenAI(\n  base_url = \"https://integrate.api.nvidia.com/v1\",\n  api_key = \"$NVIDIA_API_KEY\"\n)\n\ncompletion = client.chat.completions.create(\n  model=\"<%- request.model %>\",\n  messages=[<%- JSON.stringify(request.messages[0]) %><% if(request.messages.length > 1 && !!request.messages[1].content) { %>, <%- JSON.stringify(request.messages[1]) %><% } %>],\n  stream=<%- request.stream?.toString()[0].toUpperCase() + request.stream?.toString().slice(1) %>\n)\n<% if (request.stream) { %>\nfor chunk in completion:\n  if chunk.choices[0].delta.content is not None:\n    print(chunk.choices[0].delta.content, end=\"\")\n<% } else { %>\nprint(completion.choices[0].message)\n<% } %>\n",
                "langChain": "from langchain_nvidia_ai_endpoints import ChatNVIDIA\n\nclient = ChatNVIDIA(\n  model=\"<%- request.model %>\",\n  api_key=\"$NVIDIA_API_KEY\", \n)\n<% if (request.stream) { %>\nfor chunk in client.stream([<%- JSON.stringify(request.messages[0]) %><% if(request.messages.length > 1 && !!request.messages[1].content) { %>, <%- JSON.stringify(request.messages[1]) %><% } %>]): \n  print(chunk.content, end=\"\")\n<% } else { %>\nresponse = client.invoke([<%- JSON.stringify(request.messages[0]) %><% if(request.messages.length > 1 && !!request.messages[1].content) { %>, <%- JSON.stringify(request.messages[1]) %><% } %>])\nprint(response.content)\n<% } %>\n",
                "node.js": "import OpenAI from 'openai';\n\nconst openai = new OpenAI({\n  apiKey: '$NVIDIA_API_KEY',\n  baseURL: 'https://integrate.api.nvidia.com/v1',\n})\n\nasync function main() {\n  const completion = await openai.chat.completions.create({\n    model: \"<%- request.model %>\",\n    messages: [<%- JSON.stringify(request.messages[0]) %><% if(request.messages.length > 1 && !!request.messages[1].content) { %>, <%- JSON.stringify(request.messages[1]) %><% } %>],\n    stream: <%- request.stream %>,\n  })\n   <% if (request.stream) { %>\n  for await (const chunk of completion) {\n    process.stdout.write(chunk.choices[0]?.delta?.content || '')\n  }\n  <% } else { %>\n  process.stdout.write(completion.choices[0]?.message?.content);\n  <% } %>\n}\n\nmain();",
                "curl": "curl https://integrate.api.nvidia.com/v1/chat/completions \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer $NVIDIA_API_KEY\" \\\n  -d '{\n    \"model\": \"nvidia/llama-3.1-nemoguard-8b-content-safety\",\n    \"messages\": [<%- JSON.stringify(request.messages[0]) %><% if(request.messages.length > 1 && !!request.messages[1].content) { %>, <%- JSON.stringify(request.messages[1]) %><% } %>],\n    \"stream\": <%- request.stream %>                \n  }'\n"
              },
              "response": "{\n  \"id\": \"chatcmpl-123\",\n  \"object\": \"chat.completion\",\n  \"created\": 1677652288,\n  \"model\": \"nvidia/llama-3.1-nemoguard-8b-content-safety\",\n  \"system_fingerprint\": \"fp_44709d6fcb\",\n  \"choices\": [{\n    \"index\": 0,\n    \"message\": {\n      \"role\": \"assistant\",\n      \"content\": \"\\n\\nHello there, how may I assist you today?\",\n    },\n    \"finish_reason\": \"stop\"\n  }],\n  \"usage\": {\n    \"prompt_tokens\": 9,\n    \"completion_tokens\": 12,\n    \"total_tokens\": 21\n  }\n}\n"
            }
          ]
        }
      }
    }
  },
  "security": [
    {
      "Token": []
    }
  ],
  "components": {
    "securitySchemes": {
      "Token": {
        "type": "http",
        "scheme": "bearer"
      }
    },
    "schemas": {
      "Errors": {
        "properties": {
          "type": {
            "type": "string",
            "description": "Error type"
          },
          "title": {
            "type": "string",
            "description": "Error title"
          },
          "status": {
            "type": "integer",
            "description": "Error status code"
          },
          "detail": {
            "type": "string",
            "description": "Detailed information about the error"
          },
          "instance": {
            "type": "string",
            "description": "Function instance used to invoke the request"
          },
          "requestId": {
            "type": "string",
            "format": "uuid",
            "description": "UUID of the request"
          }
        },
        "type": "object",
        "required": [
          "type",
          "title",
          "status",
          "detail",
          "instance",
          "requestId"
        ],
        "title": "InvokeError"
      },
      "ChatCompletion": {
        "properties": {
          "id": {
            "description": "A unique identifier for the completion.",
            "format": "uuid",
            "title": "Id",
            "type": "string"
          },
          "choices": {
            "description": "The list of completion choices the model generated for the input prompt.",
            "items": {
              "$ref": "#/components/schemas/Choice"
            },
            "title": "Choices",
            "type": "array"
          },
          "usage": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Usage"
              }
            ],
            "description": "Usage statistics for the completion request."
          }
        },
        "required": [
          "id",
          "choices",
          "usage"
        ],
        "title": "ChatCompletion",
        "type": "object"
      },
      "ChatCompletionChunk": {
        "properties": {
          "id": {
            "description": "A unique identifier for the completion.",
            "format": "uuid",
            "title": "Id",
            "type": "string"
          },
          "choices": {
            "description": "The list of completion choices the model generated for the input prompt.",
            "items": {
              "$ref": "#/components/schemas/ChoiceChunk"
            },
            "title": "Choices",
            "type": "array"
          }
        },
        "required": [
          "id",
          "choices"
        ],
        "title": "ChatCompletionChunk",
        "type": "object"
      },
      "ChatRequest": {
        "additionalProperties": false,
        "properties": {
          "model": {
            "type": "string",
            "title": "Model",
            "default": "nvidia/llama-3.1-nemoguard-8b-content-safety"
          },
          "messages": {
            "description": "A list of messages comprising the conversation so far. The roles of the messages must be alternating between `user` and `assistant`. The last input message should have role `user`. A message with the the `system` role is optional, and must be the very first message if it is present; `context` is also optional, but must come before a user question.",
            "examples": [
              [
                {
                  "content": "I am going to Paris, what should I see?",
                  "role": "user"
                }
              ]
            ],
            "items": {
              "$ref": "#/components/schemas/Message"
            },
            "title": "Messages",
            "type": "array"
          },
          "stream": {
            "default": false,
            "description": "If set, partial message deltas will be sent. Tokens will be sent as data-only server-sent events (SSE) as they become available (JSON responses are prefixed by `data: `), with the stream terminated by a `data: [DONE]` message.",
            "title": "Stream",
            "type": "boolean"
          }
        },
        "required": [
          "messages"
        ],
        "title": "ChatRequest",
        "type": "object"
      },
      "Choice": {
        "properties": {
          "index": {
            "description": "The index of the choice in the list of choices (always 0).",
            "title": "Index",
            "type": "integer"
          },
          "message": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Message"
              }
            ],
            "description": "A chat completion message generated by the model.",
            "examples": [
              {
                "content": "Ah, Paris, the City of Light! There are so many amazing things to see and do in this beautiful city ...",
                "role": "assistant"
              }
            ]
          },
          "finish_reason": {
            "anyOf": [
              {
                "enum": [
                  "stop",
                  "length"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The reason the model stopped generating tokens. This will be `stop` if the model hit a natural stop point or a provided stop sequence, or `length` if the maximum number of tokens specified in the request was reached.",
            "examples": [
              "stop"
            ],
            "title": "Finish Reason"
          }
        },
        "required": [
          "index",
          "message"
        ],
        "title": "Choice",
        "type": "object"
      },
      "ChoiceChunk": {
        "properties": {
          "index": {
            "description": "The index of the choice in the list of choices (always 0).",
            "title": "Index",
            "type": "integer"
          },
          "delta": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Message"
              }
            ],
            "description": "A chat completion delta generated by streamed model responses.",
            "examples": [
              {
                "content": "Ah,",
                "role": "assistant"
              }
            ]
          },
          "finish_reason": {
            "anyOf": [
              {
                "enum": [
                  "stop",
                  "length"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The reason the model stopped generating tokens. This will be `stop` if the model hit a natural stop point or a provided stop sequence, or `length` if the maximum number of tokens specified in the request was reached. Will be `null` if the model has not finished generating.",
            "title": "Finish Reason"
          }
        },
        "required": [
          "index",
          "delta"
        ],
        "title": "ChoiceChunk",
        "type": "object"
      },
      "Message": {
        "additionalProperties": false,
        "properties": {
          "role": {
            "description": "The role of the message author.",
            "enum": [
              "system",
              "context",
              "user",
              "assistant"
            ],
            "title": "Role",
            "type": "string"
          },
          "content": {
            "description": "The contents of the message.",
            "title": "Content",
            "type": "string"
          }
        },
        "required": [
          "role",
          "content"
        ],
        "title": "Message",
        "type": "object"
      },
      "Usage": {
        "properties": {
          "completion_tokens": {
            "description": "Number of tokens in the generated completion.",
            "examples": [
              25
            ],
            "title": "Completion Tokens",
            "type": "integer"
          },
          "prompt_tokens": {
            "description": "Number of tokens in the prompt.",
            "examples": [
              9
            ],
            "title": "Prompt Tokens",
            "type": "integer"
          },
          "total_tokens": {
            "description": "Total number of tokens used in the request (prompt + completion).",
            "examples": [
              34
            ],
            "title": "Total Tokens",
            "type": "integer"
          }
        },
        "required": [
          "completion_tokens",
          "prompt_tokens",
          "total_tokens"
        ],
        "title": "Usage",
        "type": "object"
      }
    }
  },
  "x-readme": {
    "explorer-enabled": true,
    "proxy-enabled": true
  }
}
```