Cerebras Systems Completions API

The Completions API from Cerebras Systems — 1 operation(s) for completions.

OpenAPI Specification

cerebras-systems-completions-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Cerebras Inference Chat Completions API
  version: 1.0.0
  description: 'Generate conversational responses using a structured message format with roles (system, user, assistant, developer, tool). Best for chatbots, assistants, and multi-turn conversations.

    '
servers:
- url: https://api.cerebras.ai
  description: Cerebras Inference API
security:
- BearerAuth: []
tags:
- name: Completions
paths:
  /v1/completions:
    post:
      operationId: completions_v1_completions_post
      parameters:
      - in: header
        name: X-Amz-Cf-Id
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Amz-Cf-Id
      - in: header
        name: CF-RAY
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Cf-Ray
      - in: header
        name: X-delay-time
        required: false
        schema:
          anyOf:
          - type: number
          - type: 'null'
          title: X-Delay-Time
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CompletionRequest'
          application/msgpack:
            schema:
              $ref: '#/components/schemas/CompletionRequest'
          application/vnd.msgpack:
            schema:
              $ref: '#/components/schemas/CompletionRequest'
          application/x-msgpack:
            schema:
              $ref: '#/components/schemas/CompletionRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateCompletionResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Completions
      tags:
      - Completions
components:
  schemas:
    CreateCompletionResponse:
      anyOf:
      - $ref: '#/components/schemas/CompletionResponse'
      - $ref: '#/components/schemas/ErrorChunkResponse'
      title: CreateCompletionResponse
    CompletionResponse:
      additionalProperties: false
      examples:
      - choices:
        - finish_reason: stop
          index: 0
          text: "Generative AI is a subfield of artificial intelligence that focuses on generating new, original content, such as images, music, text, or videos. These models are trained on large datasets and learn to recognize patterns, relationships, and structures within the data, allowing them to generate new content that is similar in style, tone, or characteristics to the training data. \n \n Generative AI models can be categorized into two main types: Generative Adversarial Networks (GANs) and Variational Autoencoders (VAEs). GANs consist of two neural networks: a generator and a discriminator. The generator creates new content, while the discriminator evaluates the generated content and tells the generator whether it's realistic or not. VAEs are neural networks that learn to compress and reconstruct data. \n \n Generative AI has numerous applications across various industries, including art and design, content generation, data augmentation, and recommendation systems. Some examples of Generative AI in action include Deep Dream Generator, Amper Music, and DALL-E. \n \n In summary, Generative AI is a powerful technology that enables the creation of new, original content using machine learning models. It has the potential to revolutionize various industries and create new opportunities for artists, designers, and content creators."
        created: 1721088719
        id: response_1721
        model: llama3.1-8b
        object: text_completion
        system_fingerprint: '88719'
        time_info:
          completion_time: 0.44
          prompt_time: 0.02
          queue_time: 0.0
          total_time: 0.46
        usage:
          completion_tokens: 1020
          prompt_tokens: 40
          total_tokens: 1060
      properties:
        choices:
          items:
            $ref: '#/components/schemas/CompletionChoice'
          minItems: 1
          title: Choices
          type: array
        created:
          title: Created
          type: integer
        id:
          title: Id
          type: string
        model:
          title: Model
          type: string
        object:
          const: text_completion
          title: Object
          type: string
        system_fingerprint:
          title: System Fingerprint
          type: string
        time_info:
          anyOf:
          - $ref: '#/components/schemas/TimeInfo'
          - type: 'null'
        usage:
          anyOf:
          - $ref: '#/components/schemas/Usage'
          - type: 'null'
      required:
      - id
      - choices
      - created
      - model
      - system_fingerprint
      - object
      title: CompletionResponse
      type: object
    PromptTokensDetails:
      additionalProperties: false
      examples:
      - cached_tokens: 1020
      properties:
        cached_tokens:
          default: 0
          title: Cached Tokens
          type: integer
      title: PromptTokensDetails
      type: object
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          title: Location
          type: array
        msg:
          title: Message
          type: string
        type:
          title: Error Type
          type: string
      required:
      - loc
      - msg
      - type
      title: ValidationError
      type: object
    Usage:
      additionalProperties: false
      examples:
      - completion_tokens: 1020
        prompt_tokens: 40
        prompt_tokens_details:
          cached_tokens: 1020
        total_tokens: 1060
      properties:
        completion_tokens:
          default: 0
          title: Completion Tokens
          type: integer
        completion_tokens_details:
          anyOf:
          - $ref: '#/components/schemas/CompletionTokensDetails'
          - type: 'null'
        image_tokens:
          anyOf:
          - type: integer
          - type: 'null'
          title: Image Tokens
        prompt_tokens:
          default: 0
          title: Prompt Tokens
          type: integer
        prompt_tokens_details:
          anyOf:
          - $ref: '#/components/schemas/PromptTokensDetails'
          - type: 'null'
        total_tokens:
          default: 0
          title: Total Tokens
          type: integer
      title: Usage
      type: object
    CompletionChoice:
      additionalProperties: false
      properties:
        finish_reason:
          anyOf:
          - enum:
            - stop
            - length
            - content_filter
            - tool_calls
            type: string
          - type: 'null'
          title: Finish Reason
        index:
          title: Index
          type: integer
        logprobs:
          anyOf:
          - $ref: '#/components/schemas/CompletionLogProbs'
          - type: 'null'
        text:
          anyOf:
          - type: string
          - type: 'null'
          title: Text
        tokens:
          anyOf:
          - items:
              type: integer
            type: array
          - type: 'null'
          title: Tokens
      required:
      - index
      title: CompletionChoice
      type: object
    ErrorChunkContent:
      additionalProperties: false
      properties:
        code:
          anyOf:
          - type: string
          - type: 'null'
          default: ''
          title: Code
        id:
          anyOf:
          - type: string
          - type: 'null'
          default: ''
          title: Id
        message:
          anyOf:
          - type: string
          - type: 'null'
          default: ''
          title: Message
        param:
          anyOf:
          - type: string
          - type: 'null'
          default: ''
          title: Param
        type:
          anyOf:
          - type: string
          - type: 'null'
          default: ''
          title: Type
      title: ErrorChunkContent
      type: object
    CompletionLogProbs:
      additionalProperties: false
      properties:
        text_offset:
          anyOf:
          - items:
              type: integer
            type: array
          - type: 'null'
          title: Text Offset
        token_logprobs:
          anyOf:
          - items:
              type: number
            type: array
          - type: 'null'
          title: Token Logprobs
        tokens:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Tokens
        top_logprobs:
          anyOf:
          - items:
              additionalProperties:
                type: number
              type: object
            type: array
          - type: 'null'
          title: Top Logprobs
      title: CompletionLogProbs
      type: object
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          title: Detail
          type: array
      title: HTTPValidationError
      type: object
    StreamOptions:
      additionalProperties: false
      description: Options for streaming.
      properties:
        include_usage:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          title: Include Usage
      title: StreamOptions
      type: object
    ReasoningFormat:
      enum:
      - none
      - parsed
      - text_parsed
      - raw
      - hidden
      title: ReasoningFormat
      type: string
    CompletionRequest:
      additionalProperties: false
      description: Request for completions endpoint
      examples:
      - model: llama3.1-70b
        prompt: 'Micheael Jordan is born in '
        stream: true
      properties:
        best_of:
          anyOf:
          - maximum: 20
            minimum: 0
            type: integer
          - type: 'null'
          default: 1
          description: Generates `best_of` completions server-side and returns the "best" (the one with the highest log probability per token). Results cannot be streamed. When used with `n`, `best_of` controls the number of candidate completions and `n` specifies how many to return – `best_of` must be greater than `n`. **Note:** Because this parameter generates many completions, it can quickly consume your token quota. Use carefully and ensure that you have reasonable settings for `max_tokens` and `stop`
          title: Best Of
        echo:
          anyOf:
          - type: boolean
          - type: 'null'
          default: false
          description: Echo back the prompt in addition to the completion
          title: Echo
        frequency_penalty:
          anyOf:
          - maximum: 2
            minimum: -2
            type: number
          - type: 'null'
          default: 0.0
          description: Number between -2.0 and 2.0. Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim.
          title: Frequency Penalty
        grammar_root:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: The grammar root used for structured output generation.
          title: Grammar Root
        logit_bias:
          anyOf:
          - additionalProperties:
              type: number
            type: object
          - type: 'null'
          default: null
          description: "Modify the likelihood of specified tokens appearing in the completion.\n \n Accepts a JSON object that maps tokens (specified by their token ID in the tokenizer) to an associated bias value from -100 to 100. Mathematically, the bias is added to the logits generated by the model prior to sampling. The exact effect will vary per model, but values between -1 and 1 should decrease or increase likelihood of selection; values like -100 or 100 should result in a ban or exclusive selection of the relevant token."
          title: Logit Bias
        logprobs:
          anyOf:
          - maximum: 20
            minimum: 0
            type: integer
          - type: 'null'
          default: null
          description: Include the log probabilities on the logprobs most likely output tokens, as well the chosen tokens. For example, if logprobs is 5, the API will return a list of the 5 most likely tokens. The API will always return the logprob of the sampled token, so there may be up to logprobs+1 elements in the response.
          title: Logprobs
        max_tokens:
          anyOf:
          - minimum: -1
            type: integer
          - type: 'null'
          default: null
          description: 'The maximum number of tokens that can be generated in the chat completion. The total length of input tokens and generated tokens is limited by the model''s context length. '
          title: Max Tokens
        min_tokens:
          anyOf:
          - minimum: -1
            type: integer
          - type: 'null'
          default: null
          description: The minimum number of tokens to generate for a completion. If not specified or set to 0, the model will generate as many tokens as it deems necessary. Setting to -1 sets to max sequence length.
          title: Min Tokens
        model:
          title: Model
          type: string
        n:
          anyOf:
          - minimum: 1
            type: integer
          - type: 'null'
          default: 1
          description: How many chat completion choices to generate for each input message. Note that you will be charged based on the number of generated tokens across all of the choices. Keep n as 1 to minimize costs.
          title: N
        presence_penalty:
          anyOf:
          - maximum: 2.0
            minimum: -2.0
            type: number
          - type: 'null'
          default: 0.0
          description: Number between -2.0 and 2.0. Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics.
          title: Presence Penalty
        prompt:
          anyOf:
          - type: string
          - items:
              type: string
            type: array
          - items:
              minimum: 0
              type: integer
            type: array
          - items:
              items:
                minimum: 0
                type: integer
              type: array
            type: array
          description: The prompt(s) to generate completions for, encoded as a string, array of strings, array of tokens, or array of token arrays.
          title: Prompt
        prompt_cache_key:
          anyOf:
          - maxLength: 1024
            type: string
          - type: 'null'
          default: null
          description: An optional opaque string. The requests with the same prompt cache key would highly likely share the same prompt prefixes. Examples would be IDs of chat conversations, IDs of users, the hashes of system prompts, etc.
          title: Prompt Cache Key
        reasoning_format:
          anyOf:
          - $ref: '#/components/schemas/ReasoningFormat'
          - type: 'null'
          default: null
          deprecated: true
          description: Determines how reasoning is returned in the response. If set to `parsed`, the reasoning will be returned in the `reasoning` field of the response message as a string. If set to `raw`, the reasoning will be returned in the `content` field of the response message with special tokens. If set to `hidden`, the reasoning will not be returned in the response.
        return_raw_tokens:
          anyOf:
          - type: boolean
          - type: 'null'
          default: false
          description: Return raw tokens instead of text
          title: Return Raw Tokens
        seed:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: If specified, our system will make a best effort to sample deterministically, such that repeated requests with the same `seed` and parameters should return the same result. Determinism is not guaranteed.
          title: Seed
        stop:
          anyOf:
          - type: string
          - items:
              type: string
            maxItems: 4
            type: array
          - type: 'null'
          default: null
          description: Up to 4 sequences where the API will stop generating further tokens. The returned text will not contain the stop sequence.
          title: Stop
        stream:
          anyOf:
          - type: boolean
          - type: 'null'
          default: false
          title: Stream
        stream_options:
          anyOf:
          - $ref: '#/components/schemas/StreamOptions'
          - type: 'null'
          default: null
        suffix:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: The suffix that comes after a completion of inserted text. (OpenAI feature, not supported)
          title: Suffix
        temperature:
          anyOf:
          - maximum: 2.0
            minimum: 0
            type: number
          - type: 'null'
          default: 1.0
          description: What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. We generally recommend altering this or `top_p` but not both.
          title: Temperature
        top_p:
          anyOf:
          - maximum: 1
            minimum: 0
            type: number
          - type: 'null'
          default: 1.0
          description: An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered. We generally recommend altering this or `temperature` but not both.
          title: Top P
        user:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: 'A unique identifier representing your end-user, which can help Cerebras to monitor and detect abuse. '
          title: User
      required:
      - model
      - prompt
      title: CompletionRequest
      type: object
    TimeInfo:
      additionalProperties: false
      description: 'Time information for different phases of request processing.


        All times are measured in seconds.'
      examples:
      - completion_time: 0.44
        prompt_time: 0.02
        queue_time: 0.0
        total_time: 0.46
      properties:
        completion_time:
          anyOf:
          - minimum: 0.0
            type: number
          - type: 'null'
          title: Completion Time
        created:
          anyOf:
          - minimum: 0.0
            type: number
          - type: 'null'
          title: Created
        prompt_time:
          anyOf:
          - minimum: 0.0
            type: number
          - type: 'null'
          title: Prompt Time
        queue_time:
          anyOf:
          - minimum: 0.0
            type: number
          - type: 'null'
          title: Queue Time
        total_time:
          anyOf:
          - minimum: 0.0
            type: number
          - type: 'null'
          title: Total Time
      title: TimeInfo
      type: object
    CompletionTokensDetails:
      additionalProperties: false
      examples:
      - accepted_prediction_tokens: 900
        rejected_prediction_tokens: 100
      properties:
        accepted_prediction_tokens:
          anyOf:
          - type: integer
          - type: 'null'
          title: Accepted Prediction Tokens
        reasoning_tokens:
          anyOf:
          - type: integer
          - type: 'null'
          title: Reasoning Tokens
        rejected_prediction_tokens:
          anyOf:
          - type: integer
          - type: 'null'
          title: Rejected Prediction Tokens
      title: CompletionTokensDetails
      type: object
    ErrorChunkResponse:
      additionalProperties: false
      properties:
        error:
          $ref: '#/components/schemas/ErrorChunkContent'
        status_code:
          title: Status Code
          type: integer
      required:
      - status_code
      - error
      title: ErrorChunkResponse
      type: object
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: 'API key for authentication. Obtain your key from the Cerebras Cloud console and pass it as `Authorization: Bearer YOUR_API_KEY`.

        '