{
"type": "object",
"properties": {
"PCID": {
"type": "string",
"description": "Pink Connect ID for the authenticated connection"
},
"format": {
"description": "Format to return a response in. Can be `json` or a JSON schema"
},
"keep_alive": {
"description": "Model keep-alive duration (for example `5m` or `0` to unload immediately)"
},
"logprobs": {
"type": "boolean",
"description": "Whether to return log probabilities of the output tokens"
},
"messages": {
"type": "array",
"items": {
"type": "object",
"properties": {
"role": {
"type": "string",
"enum": [
"system",
"user",
"assistant",
"tool"
],
"description": "Author of the message."
},
"content": {
"type": "string",
"description": "Message text content"
},
"images": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional list of inline images for multimodal models"
},
"tool_calls": {
"type": "array",
"items": {
"type": "object",
"properties": {
"function": {
"type": "object"
}
}
},
"description": "Tool call requests produced by the model"
}
},
"required": [
"role",
"content"
]
},
"description": "Chat history as an array of message objects (each with a role and content)"
},
"model": {
"type": "string",
"description": "Model name"
},
"options": {
"type": "object",
"description": "Runtime options that control text generation",
"properties": {
"seed": {
"type": "integer",
"description": "Random seed used for reproducible outputs"
},
"temperature": {
"type": "number",
"description": "Controls randomness in generation (higher = more random)"
},
"top_k": {
"type": "integer",
"description": "Limits next token selection to the K most likely"
},
"top_p": {
"type": "number",
"description": "Cumulative probability threshold for nucleus sampling"
},
"min_p": {
"type": "number",
"description": "Minimum probability threshold for token selection"
},
"stop": {
"type": "array",
"items": {
"type": "string"
},
"description": "Stop sequences that will halt generation"
},
"num_ctx": {
"type": "integer",
"description": "Context length size (number of tokens)"
},
"num_predict": {
"type": "integer",
"description": "Maximum number of tokens to generate"
}
}
},
"stream": {
"type": "boolean",
"description": "The stream value"
},
"think": {
"description": "When true, returns separate thinking output in addition to content. Can be a boolean (true/false) or a string (\"high\", \"medium\", \"low\") for supported models."
},
"tools": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"function"
],
"description": "Type of tool (always `function`)"
},
"function": {
"type": "object",
"description": "The function value"
}
},
"required": [
"type",
"function"
]
},
"description": "Optional list of function tools the model may call during the chat"
},
"top_logprobs": {
"type": "integer",
"description": "Number of most likely tokens to return at each token position when logprobs are enabled"
}
},
"required": [
"PCID",
"messages",
"model"
]
}