AIHubMix · Schema

CreateCompletionRequest

CompanyArtificial IntelligenceLLMModel RoutingAI GatewayGenerative AIMCP

Properties

Name Type Description
model object ID of the model to use. You can use the [List models](https://developers.openai.com/api/docs/api-reference/models/list) API to see all of your available models, or see our [Model overview](https://dev
prompt object The prompt(s) to generate completions for, encoded as a string, array of strings, array of tokens, or array of token arrays. Note that <|endoftext|> is the document separator that the model sees durin
best_of integernull 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 o
echo booleannull Echo back the prompt in addition to the completion
frequency_penalty numbernull 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. [See more inf
logit_bias objectnull Modify the likelihood of specified tokens appearing in the completion. Accepts a JSON object that maps tokens (specified by their token ID in the GPT tokenizer) to an associated bias value from -100 t
logprobs integernull 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 w
max_tokens integernull The maximum number of [tokens](/tokenizer) that can be generated in the completion. The token count of your prompt plus `max_tokens` cannot exceed the model's context length. [Example Python code](htt
n integernull How many completions to generate for each prompt. **Note:** Because this parameter generates many completions, it can quickly consume your token quota. Use carefully and ensure that you have reasonabl
presence_penalty numbernull 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. [See more information abou
seed integernull 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 guarante
stop object
stream booleannull Whether to stream back partial progress. If set, tokens will be sent as data-only [server-sent events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events#Even
stream_options object
suffix stringnull The suffix that comes after a completion of inserted text. This parameter is only supported for `gpt-3.5-turbo-instruct`.
temperature numbernull 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 recomm
top_p numbernull 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 1
user string A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse. [Learn more](https://developers.openai.com/api/docs/guides/safety-best-practices#end-user-ids).
View JSON Schema on GitHub

JSON Schema

aihubmix-create-completion-request-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/aihubmix/main/json-schema/aihubmix-create-completion-request-schema.json",
  "title": "CreateCompletionRequest",
  "x-generated": "2026-10-13",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": {
    "from": "avs://openai/official",
    "authority": "official"
  },
  "type": "object",
  "properties": {
    "model": {
      "description": "ID of the model to use. You can use the [List models](https://developers.openai.com/api/docs/api-reference/models/list) API to see all of your available models, or see our [Model overview](https://developers.openai.com/api/docs/models) for descriptions of them.\n",
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "string",
          "enum": [
            "gpt-3.5-turbo-instruct",
            "davinci-002",
            "babbage-002"
          ]
        }
      ]
    },
    "prompt": {
      "description": "The prompt(s) to generate completions for, encoded as a string, array of strings, array of tokens, or array of token arrays.\n\nNote that <|endoftext|> is the document separator that the model sees during training, so if a prompt is not specified the model will generate as if from the beginning of a new document.\n",
      "default": "<|endoftext|>",
      "nullable": true,
      "oneOf": [
        {
          "type": "string",
          "default": ""
        },
        {
          "type": "array",
          "items": {
            "type": "string",
            "default": ""
          }
        },
        {
          "type": "array",
          "minItems": 1,
          "items": {
            "type": "integer"
          }
        },
        {
          "type": "array",
          "minItems": 1,
          "items": {
            "type": "array",
            "minItems": 1,
            "items": {
              "type": "integer"
            }
          }
        }
      ]
    },
    "best_of": {
      "type": [
        "integer",
        "null"
      ],
      "default": 1,
      "minimum": 0,
      "maximum": 20,
      "description": "Generates `best_of` completions server-side and returns the \"best\" (the one with the highest log probability per token). Results cannot be streamed.\n\nWhen 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`.\n\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`.\n"
    },
    "echo": {
      "type": [
        "boolean",
        "null"
      ],
      "default": false,
      "description": "Echo back the prompt in addition to the completion\n"
    },
    "frequency_penalty": {
      "type": [
        "number",
        "null"
      ],
      "default": 0,
      "minimum": -2,
      "maximum": 2,
      "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.\n\n[See more information about frequency and presence penalties.](https://developers.openai.com/api/docs/guides/text-generation)\n"
    },
    "logit_bias": {
      "type": [
        "object",
        "null"
      ],
      "default": null,
      "additionalProperties": {
        "type": "integer"
      },
      "description": "Modify the likelihood of specified tokens appearing in the completion.\n\nAccepts a JSON object that maps tokens (specified by their token ID in the GPT tokenizer) to an associated bias value from -100 to 100. You can use this [tokenizer tool](/tokenizer?view=bpe) to convert text to token IDs. 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.\n\nAs an example, you can pass `{\"50256\": -100}` to prevent the <|endoftext|> token from being generated.\n"
    },
    "logprobs": {
      "type": [
        "integer",
        "null"
      ],
      "minimum": 0,
      "maximum": 5,
      "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.\n\nThe maximum value for `logprobs` is 5.\n"
    },
    "max_tokens": {
      "type": [
        "integer",
        "null"
      ],
      "minimum": 0,
      "default": 16,
      "description": "The maximum number of [tokens](/tokenizer) that can be generated in the completion.\n\nThe token count of your prompt plus `max_tokens` cannot exceed the model's context length. [Example Python code](https://cookbook.openai.com/examples/how_to_count_tokens_with_tiktoken) for counting tokens.\n"
    },
    "n": {
      "type": [
        "integer",
        "null"
      ],
      "minimum": 1,
      "maximum": 128,
      "default": 1,
      "description": "How many completions to generate for each prompt.\n\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`.\n"
    },
    "presence_penalty": {
      "type": [
        "number",
        "null"
      ],
      "default": 0,
      "minimum": -2,
      "maximum": 2,
      "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.\n\n[See more information about frequency and presence penalties.](https://developers.openai.com/api/docs/guides/text-generation)\n"
    },
    "seed": {
      "type": [
        "integer",
        "null"
      ],
      "format": "int64",
      "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.\n\nDeterminism is not guaranteed, and you should refer to the `system_fingerprint` response parameter to monitor changes in the backend.\n"
    },
    "stop": {
      "$ref": "#/$defs/StopConfiguration"
    },
    "stream": {
      "description": "Whether to stream back partial progress. If set, tokens will be sent as data-only [server-sent events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events#Event_stream_format) as they become available, with the stream terminated by a `data: [DONE]` message. [Example Python code](https://cookbook.openai.com/examples/how_to_stream_completions).\n",
      "type": [
        "boolean",
        "null"
      ],
      "default": false
    },
    "stream_options": {
      "$ref": "#/$defs/ChatCompletionStreamOptions"
    },
    "suffix": {
      "description": "The suffix that comes after a completion of inserted text.\n\nThis parameter is only supported for `gpt-3.5-turbo-instruct`.\n",
      "default": null,
      "type": [
        "string",
        "null"
      ]
    },
    "temperature": {
      "type": [
        "number",
        "null"
      ],
      "minimum": 0,
      "maximum": 2,
      "default": 1,
      "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.\n\nWe generally recommend altering this or `top_p` but not both.\n"
    },
    "top_p": {
      "type": [
        "number",
        "null"
      ],
      "minimum": 0,
      "maximum": 1,
      "default": 1,
      "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.\n\nWe generally recommend altering this or `temperature` but not both.\n"
    },
    "user": {
      "type": "string",
      "description": "A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse. [Learn more](https://developers.openai.com/api/docs/guides/safety-best-practices#end-user-ids).\n"
    }
  },
  "required": [
    "model",
    "prompt"
  ],
  "$defs": {
    "ChatCompletionStreamOptions": {
      "anyOf": [
        {
          "description": "Options for streaming response. Only set this when you set `stream: true`.\n",
          "type": "object",
          "default": null,
          "properties": {
            "include_usage": {
              "type": "boolean",
              "description": "If set, an additional chunk will be streamed before the `data: [DONE]`\nmessage. The `usage` field on this chunk shows the token usage statistics\nfor the entire request, and the `choices` field will always be an empty\narray.\n\nAll other chunks will also include a `usage` field, but with a null\nvalue. **NOTE:** If the stream is interrupted, you may not receive the\nfinal usage chunk which contains the total token usage for the request.\n"
            },
            "include_obfuscation": {
              "type": "boolean",
              "description": "When true, stream obfuscation will be enabled. Stream obfuscation adds\nrandom characters to an `obfuscation` field on streaming delta events to\nnormalize payload sizes as a mitigation to certain side-channel attacks.\nThese obfuscation fields are included by default, but add a small amount\nof overhead to the data stream. You can set `include_obfuscation` to\nfalse to optimize for bandwidth if you trust the network links between\nyour application and the OpenAI API.\n"
            }
          }
        },
        {
          "type": "null"
        }
      ],
      "x-source": {
        "from": "avs://openai/official",
        "authority": "official"
      }
    },
    "StopConfiguration": {
      "description": "Not supported with latest reasoning models `o3` and `o4-mini`.\n\nUp to 4 sequences where the API will stop generating further tokens. The\nreturned text will not contain the stop sequence.\n",
      "default": null,
      "nullable": true,
      "oneOf": [
        {
          "type": [
            "string",
            "null"
          ],
          "default": "<|endoftext|>"
        },
        {
          "type": "array",
          "minItems": 1,
          "maxItems": 4,
          "items": {
            "type": "string"
          }
        }
      ],
      "x-source": {
        "from": "avs://openai/official",
        "authority": "official"
      }
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/aihubmix-create-completion-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.