Qwen3.7 Flash
qwen3.7-flashUse the Qwen3.7 Flash API for chat, coding, and reasoning. Send conversation messages and include tool definitions on supported routes. Build developer assistants for code review, debugging, and implementation. Compare the available provider routes, request examples, and usage prices on OpenAny.
- Published price
- From $0.022 / 1M tokens
- Billing unit
- / 1M tokens
- Context / Max output
- 1000K / 128K
- Listed routes
- 1
Other parameters (49)
Result preview
Neolink · 4299ms
Response example. Run to see the actual response.
{
"id": "chatcmpl-d288bf61-ff0d-91eb-a838-7804c54a2c05",
"model": "qwen3.7-flash",
"usage": {
"total_tokens": 192,
"prompt_tokens": 11,
"completion_tokens": 181,
"prompt_tokens_details": {
"text_tokens": 11,
"cached_tokens": 0
},
"completion_tokens_details": {
"text_tokens": 181,
"reasoning_tokens": 167
}
},
"object": "chat.completion",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Hello! How can I help you today? 😊",
"reasoning_content": "Here's a thinking process:\n\n1. **Analyze User Input:** The user said \"hello\" - a simple greeting.\n2. **Identify Intent:** The user is initiating a conversation, likely expecting a friendly response and possibly leading to a question or request.\n3. **Determine Response Strategy:** \n - Acknowledge the greeting warmly\n - Keep it open-ended to encourage further interaction\n - Maintain a helpful, conversational tone\n4. **Draft Response (Mental):** Hello! How can I help you today?\n5. **Refine Response:** Check for tone, clarity, and openness. The draft is good—friendly, concise, and invites the user to share their needs.\n6. **Final Output Generation:** Match the refined version.✅"
},
"finish_reason": "stop"
}
],
"created": 1793809842,
"openmodels_cost": 17
}- Base URL
https://api.openany.si/v1- POST
/v1/chat/completions- Authentication
Authorization: Bearer $OPENANY_API_KEY
Request parameters
| Parameter | Type / range | Default value | Required | Description |
|---|---|---|---|---|
messages | array | — | Yes | The conversation messages |
model | string | — | Yes | The model to use |
audio | object | — | No | Output audio configuration for Qwen-Omni models. Requires modalities to include audio. |
audio.format | string · wav | — | No | Output audio format. Only wav is supported. |
audio.voice | string | — | No | Voice used for output audio. |
enable_code_interpreter | boolean | false | No | Whether to enable the code interpreter feature. This is not a standard OpenAI parameter. |
enable_search | boolean | false | No | Whether to enable web search. This is not a standard OpenAI parameter. |
enable_thinking | boolean | — | No | Whether to enable thinking mode for supported hybrid thinking models. Reasoning content is returned in reasoning_content. |
frequency_penalty | number · -2 ~ 2 | 0 | No | Penalty for repeated tokens |
logprobs | boolean | false | No | Whether to return log probabilities for output tokens. Reasoning content does not include log probabilities. |
max_completion_tokens | integer · >= 1 | — | No | Maximum visible completion tokens |
max_tokens | integer · >= 1 | — | No | Maximum completion tokens |
messages[].content | object | — | No | Message content. Can be text or model-specific multimodal content. |
messages[].reasoning_content | string | — | No | Historical reasoning content from assistant messages. Required unchanged when using preserved thinking for supported models. |
messages[].role | string · system | user | assistant | tool | — | No | Message role in the conversation. |
modalities | array | — | No | Output modalities. Applies only to Qwen-Omni models. Valid values include ["text"] and ["text","audio"]. |
n | integer · 1 ~ 128 | 1 | No | Number of choices to generate |
parallel_tool_calls | boolean | false | No | Whether to enable parallel tool calling. |
presence_penalty | number · -2 ~ 2 | 0 | No | Penalty for previously used tokens |
preserve_thinking | boolean | false | No | Whether to append historical reasoning_content from assistant messages to the model input for supported models. |
reasoning_effort | string · low | medium | high | xhigh | max | minimal | none | — | No | Controls reasoning effort. Qwen3.8-Max-Preview supports low, medium, and xhigh. max/high map to xhigh, minimal maps to low, and none maps to enable_thinking=false. |
response_format | object | — | No | Format constraint for the response |
response_format.json_schema | object | — | No | JSON Schema configuration. Required when response_format.type is json_schema. |
response_format.json_schema.description | string | — | No | Description of the schema purpose. |
response_format.json_schema.name | string | — | No | Unique schema name. Supports letters, numbers, underscores, and hyphens. Maximum length: 64 characters. |
response_format.json_schema.schema | object | — | No | JSON Schema object defining the output data structure. |
response_format.json_schema.strict | boolean | false | No | Whether the model must strictly follow the schema constraints. |
response_format.type | string · text | json_object | json_schema | — | No | Response format type. |
route | object | — | No | OpenAny route configuration, including provider and other routing parameters |
route_mode | string | — | No | The mode for routing the request |
search_options | object | — | No | Web search strategy. Effective only when enable_search is true. |
search_options.enable_search_extension | boolean | false | No | Whether to enable domain-specific search. |
search_options.forced_search | boolean | false | No | Whether to force web search instead of letting the model decide. |
search_options.search_strategy | string · turbo | max | agent | agent_max | turbo | No | Search scale strategy. turbo balances speed and effectiveness; max is more comprehensive; agent and agent_max perform multi-round retrieval for supported models. |
seed | integer | — | No | Seed for deterministic sampling |
stop | string | array | — | No | Sequences that stop generation |
stream | boolean | false | No | Whether to stream the response |
stream_options | object | — | No | Streaming options. Effective only when stream is true. |
stream_options.include_usage | boolean | false | No | Whether to include token usage information in the final streaming chunk. |
temperature | number · 0 ~ 2 | 1 | No | Sampling temperature |
thinking_budget | integer | — | No | Maximum number of tokens for the thinking process. Applies to supported Qwen reasoning models. |
tool_choice | string | object · none | auto | required | — | No | Tool selection policy: string modes none, auto, or required, or an object selecting a specific tool |
tool_stream | boolean | false | No | Controls streaming behavior for complex tool arguments when stream is true. This is not a standard OpenAI parameter. |
tools | array | — | No | Tools available to the model |
tools[].function | object | — | No | Function tool definition. |
tools[].function.description | string | — | No | Function description used by the model to decide when and how to call the tool. |
tools[].function.name | string | — | No | Function name. Supports letters, digits, underscores, and hyphens. Up to 64 tokens. |
tools[].function.parameters | object | — | No | Function parameters described with JSON Schema. |
tools[].type | string · function | — | No | Tool type. Currently only function is supported. |
top_k | integer · >= 0 | — | No | Number of candidate tokens used for sampling. If null or greater than 100, top_k is disabled and only top_p takes effect. This is not a standard OpenAI parameter. |
top_logprobs | integer · 0 ~ 5 | 0 | No | Number of most likely candidate tokens to return at each generation step. Effective only when logprobs is true. |
top_p | number · 0 ~ 1 | 1 | No | Nucleus sampling probability |
vl_high_resolution_images | boolean | false | No | Whether to increase the maximum pixel limit for input images. Applies to supported Qwen VL models. This is not a standard OpenAI parameter. |
Request example
curl 'https://api.openany.si/v1/chat/completions' \
-H "Authorization: Bearer $OPENANY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"messages": [
{
"content": "hello",
"role": "user"
}
],
"model": "qwen3.7-flash",
"enable_code_interpreter": false,
"enable_search": false,
"frequency_penalty": 0,
"logprobs": false,
"n": 1,
"parallel_tool_calls": false,
"presence_penalty": 0,
"preserve_thinking": false,
"response_format.json_schema.strict": false,
"search_options.enable_search_extension": false,
"search_options.forced_search": false,
"search_options.search_strategy": "turbo",
"stream": false,
"stream_options.include_usage": false,
"temperature": 1,
"tool_stream": false,
"top_logprobs": 0,
"top_p": 1,
"vl_high_resolution_images": false
}'Response example
Configured response example · not a live result
{
"id": "chatcmpl-d288bf61-ff0d-91eb-a838-7804c54a2c05",
"model": "qwen3.7-flash",
"usage": {
"total_tokens": 192,
"prompt_tokens": 11,
"completion_tokens": 181,
"prompt_tokens_details": {
"text_tokens": 11,
"cached_tokens": 0
},
"completion_tokens_details": {
"text_tokens": 181,
"reasoning_tokens": 167
}
},
"object": "chat.completion",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Hello! How can I help you today? 😊",
"reasoning_content": "Here's a thinking process:\n\n1. **Analyze User Input:** The user said \"hello\" - a simple greeting.\n2. **Identify Intent:** The user is initiating a conversation, likely expecting a friendly response and possibly leading to a question or request.\n3. **Determine Response Strategy:** \n - Acknowledge the greeting warmly\n - Keep it open-ended to encourage further interaction\n - Maintain a helpful, conversational tone\n4. **Draft Response (Mental):** Hello! How can I help you today?\n5. **Refine Response:** Check for tone, clarity, and openness. The draft is good—friendly, concise, and invites the user to share their needs.\n6. **Final Output Generation:** Match the refined version.✅"
},
"finish_reason": "stop"
}
],
"created": 1793809842,
"openmodels_cost": 17
}Error handling
400Check the model ID and request fields.429Retry with exponential backoff.5xxRetry only temporary provider failures.JSON Schema
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"model",
"messages"
],
"properties": {
"n": {
"type": "integer",
"default": 1,
"maximum": 128,
"minimum": 1,
"description": "Number of choices to generate"
},
"seed": {
"type": "integer",
"description": "Seed for deterministic sampling"
},
"stop": {
"type": [
"string",
"array"
],
"items": {
"type": "string"
},
"description": "Sequences that stop generation"
},
"audio": {
"type": "object",
"description": "Output audio configuration for Qwen-Omni models. Requires modalities to include audio."
},
"model": {
"type": "string",
"description": "The model to use"
},
"route": {
"type": "object",
"description": "OpenAny route configuration, including provider and other routing parameters"
},
"tools": {
"type": "array",
"items": {
"type": "object"
},
"description": "Tools available to the model"
},
"top_k": {
"type": "integer",
"minimum": 0,
"description": "Number of candidate tokens used for sampling. If null or greater than 100, top_k is disabled and only top_p takes effect. This is not a standard OpenAI parameter."
},
"top_p": {
"type": "number",
"default": 1,
"maximum": 1,
"minimum": 0,
"description": "Nucleus sampling probability"
},
"stream": {
"type": "boolean",
"default": false,
"description": "Whether to stream the response"
},
"logprobs": {
"type": "boolean",
"default": false,
"description": "Whether to return log probabilities for output tokens. Reasoning content does not include log probabilities."
},
"messages": {
"type": "array",
"items": {
"type": "object"
},
"description": "The conversation messages"
},
"max_tokens": {
"type": "integer",
"minimum": 1,
"description": "Maximum completion tokens"
},
"modalities": {
"type": "array",
"items": {
"type": "string"
},
"description": "Output modalities. Applies only to Qwen-Omni models. Valid values include [\"text\"] and [\"text\",\"audio\"]."
},
"route_mode": {
"type": "string",
"description": "The mode for routing the request"
},
"audio.voice": {
"type": "string",
"description": "Voice used for output audio."
},
"temperature": {
"type": "number",
"default": 1,
"maximum": 2,
"minimum": 0,
"description": "Sampling temperature"
},
"tool_choice": {
"enum": [
"none",
"auto",
"required"
],
"type": [
"string",
"object"
],
"description": "Tool selection policy: string modes none, auto, or required, or an object selecting a specific tool"
},
"tool_stream": {
"type": "boolean",
"default": false,
"description": "Controls streaming behavior for complex tool arguments when stream is true. This is not a standard OpenAI parameter."
},
"audio.format": {
"enum": [
"wav"
],
"type": "string",
"description": "Output audio format. Only wav is supported."
},
"tools[].type": {
"enum": [
"function"
],
"type": "string",
"description": "Tool type. Currently only function is supported."
},
"top_logprobs": {
"type": "integer",
"default": 0,
"maximum": 5,
"minimum": 0,
"description": "Number of most likely candidate tokens to return at each generation step. Effective only when logprobs is true."
},
"enable_search": {
"type": "boolean",
"default": false,
"description": "Whether to enable web search. This is not a standard OpenAI parameter."
},
"search_options": {
"type": "object",
"description": "Web search strategy. Effective only when enable_search is true."
},
"stream_options": {
"type": "object",
"description": "Streaming options. Effective only when stream is true."
},
"enable_thinking": {
"type": "boolean",
"description": "Whether to enable thinking mode for supported hybrid thinking models. Reasoning content is returned in reasoning_content."
},
"messages[].role": {
"enum": [
"system",
"user",
"assistant",
"tool"
],
"type": "string",
"description": "Message role in the conversation."
},
"response_format": {
"type": "object",
"description": "Format constraint for the response"
},
"thinking_budget": {
"type": "integer",
"description": "Maximum number of tokens for the thinking process. Applies to supported Qwen reasoning models."
},
"presence_penalty": {
"type": "number",
"default": 0,
"maximum": 2,
"minimum": -2,
"description": "Penalty for previously used tokens"
},
"reasoning_effort": {
"enum": [
"low",
"medium",
"high",
"xhigh",
"max",
"minimal",
"none"
],
"type": "string",
"description": "Controls reasoning effort. Qwen3.8-Max-Preview supports low, medium, and xhigh. max/high map to xhigh, minimal maps to low, and none maps to enable_thinking=false."
},
"tools[].function": {
"type": "object",
"description": "Function tool definition."
},
"frequency_penalty": {
"type": "number",
"default": 0,
"maximum": 2,
"minimum": -2,
"description": "Penalty for repeated tokens"
},
"preserve_thinking": {
"type": "boolean",
"default": false,
"description": "Whether to append historical reasoning_content from assistant messages to the model input for supported models."
},
"messages[].content": {
"type": "object",
"description": "Message content. Can be text or model-specific multimodal content."
},
"parallel_tool_calls": {
"type": "boolean",
"default": false,
"description": "Whether to enable parallel tool calling."
},
"response_format.type": {
"enum": [
"text",
"json_object",
"json_schema"
],
"type": "string",
"description": "Response format type."
},
"max_completion_tokens": {
"type": "integer",
"minimum": 1,
"description": "Maximum visible completion tokens"
},
"tools[].function.name": {
"type": "string",
"description": "Function name. Supports letters, digits, underscores, and hyphens. Up to 64 tokens."
},
"enable_code_interpreter": {
"type": "boolean",
"default": false,
"description": "Whether to enable the code interpreter feature. This is not a standard OpenAI parameter."
},
"vl_high_resolution_images": {
"type": "boolean",
"default": false,
"description": "Whether to increase the maximum pixel limit for input images. Applies to supported Qwen VL models. This is not a standard OpenAI parameter."
},
"response_format.json_schema": {
"type": "object",
"description": "JSON Schema configuration. Required when response_format.type is json_schema."
},
"tools[].function.parameters": {
"type": "object",
"description": "Function parameters described with JSON Schema."
},
"messages[].reasoning_content": {
"type": "string",
"description": "Historical reasoning content from assistant messages. Required unchanged when using preserved thinking for supported models."
},
"search_options.forced_search": {
"type": "boolean",
"default": false,
"description": "Whether to force web search instead of letting the model decide."
},
"stream_options.include_usage": {
"type": "boolean",
"default": false,
"description": "Whether to include token usage information in the final streaming chunk."
},
"tools[].function.description": {
"type": "string",
"description": "Function description used by the model to decide when and how to call the tool."
},
"search_options.search_strategy": {
"enum": [
"turbo",
"max",
"agent",
"agent_max"
],
"type": "string",
"default": "turbo",
"description": "Search scale strategy. turbo balances speed and effectiveness; max is more comprehensive; agent and agent_max perform multi-round retrieval for supported models."
},
"response_format.json_schema.name": {
"type": "string",
"description": "Unique schema name. Supports letters, numbers, underscores, and hyphens. Maximum length: 64 characters."
},
"response_format.json_schema.schema": {
"type": "object",
"description": "JSON Schema object defining the output data structure."
},
"response_format.json_schema.strict": {
"type": "boolean",
"default": false,
"description": "Whether the model must strictly follow the schema constraints."
},
"search_options.enable_search_extension": {
"type": "boolean",
"default": false,
"description": "Whether to enable domain-specific search."
},
"response_format.json_schema.description": {
"type": "string",
"description": "Description of the schema purpose."
}
}
}Request example
POST /v1/chat/completionscurl 'https://api.openany.si/v1/chat/completions' \
-H "Authorization: Bearer $OPENANY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"messages": [
{
"content": "hello",
"role": "user"
}
],
"model": "qwen3.7-flash",
"enable_code_interpreter": false,
"enable_search": false,
"frequency_penalty": 0,
"logprobs": false,
"n": 1,
"parallel_tool_calls": false,
"presence_penalty": 0,
"preserve_thinking": false,
"response_format.json_schema.strict": false,
"search_options.enable_search_extension": false,
"search_options.forced_search": false,
"search_options.search_strategy": "turbo",
"stream": false,
"stream_options.include_usage": false,
"temperature": 1,
"tool_stream": false,
"top_logprobs": 0,
"top_p": 1,
"vl_high_resolution_images": false
}'Model API questions
How do I call Qwen3.7 Flash through OpenAny?
Use model ID qwen3.7-flash with an OpenAny key and the operation published in this model's API tab. The model API base is https://api.openany.si/v1. Confirm the protocol and request schema; model availability does not imply every OpenAI API operation is supported.
How is Qwen3.7 Flash billed?
Compare the published rate and billing unit of the selected provider route. Input, output and cache token rates may differ. Image, audio and video models can use other units. Recorded usage determines the charge under that route's billing contract.
Are Community and Verified routes the same as an official publisher API?
No. Inspect the provider name and supply classification for the specific route. A marketplace listing or a supply label is not a claim of publisher endorsement, identical service or measured uptime. Different route prices may reflect different supply and conditions.
Where do these prices come from, and when were they updated?
Rates come from the provider routes in OpenAny's public model catalog, not an independent quote from the model publisher. The catalog does not supply a price update timestamp. A page or catalog snapshot date is not a price revision date. Compare supply, billing units, tiers and conditions; a lower listed rate alone does not establish equivalent service or explain the price difference.
Use Qwen3.7 Flash with your agent
Inspect endpoint contracts and confirm availability and pricing before a paid call.