Parameters
Complete reference for all parameters accepted by each modality. Jump to: Text · Image · Video · STT · TTS
Model-specific parameters: Proxyify forwards all parameters directly to the upstream provider — every model has its own supported set. In Dashboard → Models, the Params column shows how many parameters a model supports; hover over the number to see the full list. Parameters not supported by a model are silently ignored or may return a provider error.
Text (Chat Completions)
These parameters apply to text models (openai/gpt-4o, anthropic/claude-*, google/gemini-*, etc.). All are optional — omit any to use the model's default. Not every model supports every parameter (e.g. top_k is not available on OpenAI models). Unsupported parameters are silently ignored by the upstream provider.
| Parameter | Type | Range / Values | Default | Description |
|---|---|---|---|---|
temperature | float | 0.0–2.0 | 1.0 | Higher = more creative, lower = more deterministic. 0 = greedy decoding. |
max_tokens | int | ≥1 | model limit | Maximum tokens to generate. Prefer max_completion_tokens. |
max_completion_tokens | int | ≥1 | model limit | Preferred alias for max_tokens. |
top_p | float | 0.0–1.0 | 1.0 | Nucleus sampling — only tokens whose cumulative probability ≤ top_p are considered. |
top_k | int | ≥0 | 0 (off) | Only consider the top-k tokens at each step. Not available on OpenAI models. |
frequency_penalty | float | -2.0–2.0 | 0.0 | Penalise tokens proportional to how often they have appeared in the output. |
presence_penalty | float | -2.0–2.0 | 0.0 | Penalise tokens that have already appeared in the prompt or output. |
repetition_penalty | float | 0.0–2.0 | 1.0 | Alternative repetition penalty used by Mistral/Llama models. 1.0 = no penalty. |
min_p | float | 0.0–1.0 | 0.0 | Minimum probability threshold relative to the top token's probability. |
top_a | float | 0.0–1.0 | 0.0 | Dynamic Top-P variant — scales threshold based on top token's probability. |
seed | int | — | — | Fixed seed for reproducible outputs. Same seed + same params → same output (best effort). |
stop | str | list[str] | ≤4 items | — | Generation stops when any of these strings is encountered. |
Tool calling
Provide a list of functions the model may call. The request is routed to a provider that supports tool use.
| Parameter | Type | Description |
|---|---|---|
tools | list[Tool] | Array of function definitions. Each item: {"type":"function","function":{name, description, parameters}} |
tool_choice | str | object | "none" — never call tools. "auto" (default) — model decides. "required" — must call at least one. {"type":"function","function":{"name":"…"}} — force a specific tool. |
parallel_tool_calls | bool | Default true. Set to false to prevent the model from calling multiple tools in one turn. |
{
"model": "openai/gpt-4o",
"messages": [{ "role": "user", "content": "What's the weather in Istanbul?" }],
"tools": [{
"type": "function",
"function": {
"name": "get_weather",
"description": "Returns current weather for a city",
"parameters": {
"type": "object",
"properties": { "city": { "type": "string" } },
"required": ["city"]
}
}
}],
"tool_choice": "auto"
}
Response format & structured output
| Parameter | Type | Description |
|---|---|---|
response_format | object | {"type":"json_object"} — valid JSON (no schema). {"type":"json_schema","json_schema":{…}} — JSON matching a strict schema. |
structured_outputs | bool | Set to true to require the provider to support native structured output. Only sends to compatible providers. |
logprobs | bool | Return log-probabilities for each output token. |
top_logprobs | int | 0–20. Requires logprobs: true. Returns top-N token alternatives per position. |
logit_bias | object | {"token_id": bias} — bias value between -100 and 100. Use to ban or force specific tokens. |
prediction | object | {"type":"content","content":"…"} — predicted output for latency optimisation (Predicted Outputs). |
{
"model": "openai/gpt-4o",
"messages": [{ "role": "user", "content": "Extract user data from the text" }],
"response_format": {
"type": "json_schema",
"json_schema": {
"name": "User",
"strict": true,
"schema": {
"type": "object",
"properties": {
"name": { "type": "string" },
"age": { "type": "integer" }
},
"required": ["name", "age"]
}
}
}
}
Image generation
Sent to POST /v1/chat/completions with an image model slug. Include "modalities": ["image"] in the request body.
Model-specific support: Not all image models support every parameter. For example, image_config.image_size is only relevant for models that offer resolution tiers. Parameters not supported by the chosen model are passed through unchanged and may be silently ignored.
| Parameter | Type | Values | Default | Description |
|---|---|---|---|---|
messages | array | — | — | Required. Single user message — the content string is used as the image prompt. |
modalities | list[str] | ["image"], ["image","text"] | — | Required. Must include "image". Add "text" to also get a caption. |
image_config.aspect_ratio | string | "1:1" "16:9" "9:16" "4:3" | "1:1" | Output image aspect ratio. |
image_config.image_size | string | "1K" "2K" "4K" | "1K" | Output resolution. Higher sizes cost more credits. |
seed | int | — | — | Same seed + same prompt → same image. Useful for reproducibility. |
provider | object | — | — | Optional routing hints. See Provider Routing. |
Video generation
Sent to POST /v1/chat/completions with a video model slug. Video generation is async — the endpoint returns a job ID immediately. Poll /v1/jobs/{job_id}/ for the result.
Model-specific support: Parameters vary between video models. For example, kling/kling-video-v3-pro supports duration, aspect_ratio, fps, and negative_prompt. google/veo-3 may accept a different parameter set. Only prompt is universally required — all other parameters are model-dependent and unsupported ones are ignored.
| Parameter | Type | Values / Range | Required | Description |
|---|---|---|---|---|
prompt | string | — | Yes | Description of the video to generate. |
duration | int | seconds | No | Desired video length in seconds. Model-dependent maximum. |
resolution | string | "720p" "1080p" | No | Output video resolution. Availability depends on the model. |
aspect_ratio | string | "16:9" "9:16" "1:1" | No | Output aspect ratio. |
negative_prompt | string | — | No | Things to avoid in the video (e.g. "blurry, watermark"). |
seed | int | — | No | Fixed seed for reproducible results. |
fps | int | — | No | Frames per second. Model-dependent. |
guidance_scale | float | — | No | How closely the output follows the prompt. Higher = more literal. |
Speech-to-Text (STT)
Sent to POST /v1/chat/completions with an STT model slug. Audio is passed as a base64-encoded string inside input_audio.
Model-specific support: Whisper models support all parameters below. Token-billed models (openai/gpt-4o-transcribe, google/chirp-3) may not support response_format values like srt/vtt or timestamp_granularities. Unsupported parameters are passed through and may return a provider error.
| Parameter | Type | Values | Required | Description |
|---|---|---|---|---|
input_audio.data | string | base64 | Yes | Base64-encoded audio content. |
input_audio.format | string | "wav" "mp3" "m4a" "ogg" "flac" | Yes | Audio file format. |
language | string | BCP-47 (e.g. "en" "tr" "de") | No | Spoken language. Omitting triggers auto-detection. |
prompt | string | — | No | Domain context hint — improves accuracy for technical terms, names, abbreviations. |
temperature | float | 0.0–1.0 | No | Sampling temperature for transcription. 0 = deterministic. |
response_format | string | "json" "text" "srt" "vtt" "verbose_json" | No | Output format. "verbose_json" includes word/segment timestamps. |
timestamp_granularities | list[str] | ["word"] ["segment"] | No | Requires response_format: "verbose_json". Returns per-word or per-segment timing. |
Text-to-Speech (TTS)
Sent to POST /v1/chat/completions with a TTS model slug. The response is a raw audio byte stream — billing metadata is in response headers, not in a JSON body.
Model-specific support: instructions is only supported by OpenAI TTS models. speed support and available voice options vary by model. Check Dashboard → Models for the voice list of each specific model.
| Parameter | Type | Values / Range | Required | Description |
|---|---|---|---|---|
input | string | — | Yes | The text to convert to speech. |
voice | string | model-dependent (e.g. "alloy" "echo" "nova") | No | Voice preset. Available voices depend on the model — check the model's documentation. |
response_format | string | "mp3" "opus" "aac" "flac" "wav" "pcm" | No | Audio output format. Defaults to "mp3". |
speed | float | 0.25–4.0 | No | Playback speed multiplier. 1.0 = normal speed. |
instructions | string | — | No | Tone/style guidance (e.g. "Speak calmly and slowly"). Model-dependent support. |
Validation errors
Out-of-range or wrong-type values return 400 before the request is forwarded:
{
"error": {
"code": 400,
"message": "'temperature' out of range (0.0–2.0).",
"metadata": {}
}
}
Unknown extra fields are silently ignored — they do not cause a 400.