Parameters | Proxyify Docs
Docs Parameters

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.

ParameterTypeRange / ValuesDefaultDescription
temperaturefloat0.0–2.01.0Higher = more creative, lower = more deterministic. 0 = greedy decoding.
max_tokensint≥1model limitMaximum tokens to generate. Prefer max_completion_tokens.
max_completion_tokensint≥1model limitPreferred alias for max_tokens.
top_pfloat0.0–1.01.0Nucleus sampling — only tokens whose cumulative probability ≤ top_p are considered.
top_kint≥00 (off)Only consider the top-k tokens at each step. Not available on OpenAI models.
frequency_penaltyfloat-2.0–2.00.0Penalise tokens proportional to how often they have appeared in the output.
presence_penaltyfloat-2.0–2.00.0Penalise tokens that have already appeared in the prompt or output.
repetition_penaltyfloat0.0–2.01.0Alternative repetition penalty used by Mistral/Llama models. 1.0 = no penalty.
min_pfloat0.0–1.00.0Minimum probability threshold relative to the top token's probability.
top_afloat0.0–1.00.0Dynamic Top-P variant — scales threshold based on top token's probability.
seedintFixed seed for reproducible outputs. Same seed + same params → same output (best effort).
stopstr | list[str]≤4 itemsGeneration 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.

ParameterTypeDescription
toolslist[Tool]Array of function definitions. Each item: {"type":"function","function":{name, description, parameters}}
tool_choicestr | 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_callsboolDefault true. Set to false to prevent the model from calling multiple tools in one turn.
json (tool calling example)
{ "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

ParameterTypeDescription
response_formatobject{"type":"json_object"} — valid JSON (no schema). {"type":"json_schema","json_schema":{…}} — JSON matching a strict schema.
structured_outputsboolSet to true to require the provider to support native structured output. Only sends to compatible providers.
logprobsboolReturn log-probabilities for each output token.
top_logprobsint0–20. Requires logprobs: true. Returns top-N token alternatives per position.
logit_biasobject{"token_id": bias} — bias value between -100 and 100. Use to ban or force specific tokens.
predictionobject{"type":"content","content":"…"} — predicted output for latency optimisation (Predicted Outputs).
json (json_schema example)
{ "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.

ParameterTypeValuesDefaultDescription
messagesarrayRequired. Single user message — the content string is used as the image prompt.
modalitieslist[str]["image"], ["image","text"]Required. Must include "image". Add "text" to also get a caption.
image_config.aspect_ratiostring"1:1" "16:9" "9:16" "4:3""1:1"Output image aspect ratio.
image_config.image_sizestring"1K" "2K" "4K""1K"Output resolution. Higher sizes cost more credits.
seedintSame seed + same prompt → same image. Useful for reproducibility.
providerobjectOptional 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.

ParameterTypeValues / RangeRequiredDescription
promptstringYesDescription of the video to generate.
durationintsecondsNoDesired video length in seconds. Model-dependent maximum.
resolutionstring"720p" "1080p"NoOutput video resolution. Availability depends on the model.
aspect_ratiostring"16:9" "9:16" "1:1"NoOutput aspect ratio.
negative_promptstringNoThings to avoid in the video (e.g. "blurry, watermark").
seedintNoFixed seed for reproducible results.
fpsintNoFrames per second. Model-dependent.
guidance_scalefloatNoHow 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.

ParameterTypeValuesRequiredDescription
input_audio.datastringbase64YesBase64-encoded audio content.
input_audio.formatstring"wav" "mp3" "m4a" "ogg" "flac"YesAudio file format.
languagestringBCP-47 (e.g. "en" "tr" "de")NoSpoken language. Omitting triggers auto-detection.
promptstringNoDomain context hint — improves accuracy for technical terms, names, abbreviations.
temperaturefloat0.0–1.0NoSampling temperature for transcription. 0 = deterministic.
response_formatstring"json" "text" "srt" "vtt" "verbose_json"NoOutput format. "verbose_json" includes word/segment timestamps.
timestamp_granularitieslist[str]["word"] ["segment"]NoRequires 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.

ParameterTypeValues / RangeRequiredDescription
inputstringYesThe text to convert to speech.
voicestringmodel-dependent (e.g. "alloy" "echo" "nova")NoVoice preset. Available voices depend on the model — check the model's documentation.
response_formatstring"mp3" "opus" "aac" "flac" "wav" "pcm"NoAudio output format. Defaults to "mp3".
speedfloat0.25–4.0NoPlayback speed multiplier. 1.0 = normal speed.
instructionsstringNoTone/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:

json (400 — range error)
{ "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.