A 500 billion dollar startup can’t filter API payload fields

af0cdec1106898c324ee818ed9cd9a7c19f623ea

Cohee <18619528+Cohee1207@users.noreply.github.com>

2 files changed, +12 -4Ignore whitespace
public/scripts/openai.js+9 -4
@@ -2488,7 +2488,7 @@ async function sendOpenAIRequest(type, messages, signal, { jsonSchema = null } =
2488 generate_data['seed'] = oai_settings.seed;2488 generate_data['seed'] = oai_settings.seed;
2489 }2489 }
24902490
2491 if ((isOAI && /^(o1|o3|o4)/.test(oai_settings.openai_model)) || (isAzureOpenAI && /^(o1|o3|o4)/.test(oai_settings.azure_openai_model))) {2491 if ((isOAI && /^(o1|o3|o4)/.test(model)) || (isAzureOpenAI && /^(o1|o3|o4)/.test(model))) {
2492 generate_data.max_completion_tokens = generate_data.max_tokens;2492 generate_data.max_completion_tokens = generate_data.max_tokens;
2493 delete generate_data.max_tokens;2493 delete generate_data.max_tokens;
2494 delete generate_data.logprobs;2494 delete generate_data.logprobs;
@@ -2499,7 +2499,7 @@ async function sendOpenAIRequest(type, messages, signal, { jsonSchema = null } =
2499 delete generate_data.top_p;2499 delete generate_data.top_p;
2500 delete generate_data.frequency_penalty;2500 delete generate_data.frequency_penalty;
2501 delete generate_data.presence_penalty;2501 delete generate_data.presence_penalty;
2502 if (oai_settings.openai_model.startsWith('o1')) {2502 if (model.startsWith('o1')) {
2503 generate_data.messages.forEach((msg) => {2503 generate_data.messages.forEach((msg) => {
2504 if (msg.role === 'system') {2504 if (msg.role === 'system') {
2505 msg.role = 'user';2505 msg.role = 'user';
@@ -2511,14 +2511,19 @@ async function sendOpenAIRequest(type, messages, signal, { jsonSchema = null } =
2511 }2511 }
2512 }2512 }
25132513
2514 if ((isOAI && /^gpt-5/.test(oai_settings.openai_model)) || (isAzureOpenAI && /^gpt-5/.test(oai_settings.azure_openai_model))) {2514 if ((isOAI && /^gpt-5/.test(model)) || (isAzureOpenAI && /^gpt-5/.test(model))) {
2515 generate_data.max_completion_tokens = generate_data.max_tokens;2515 generate_data.max_completion_tokens = generate_data.max_tokens;
2516 delete generate_data.max_tokens;2516 delete generate_data.max_tokens;
2517 delete generate_data.logprobs;2517 delete generate_data.logprobs;
2518 delete generate_data.top_logprobs;2518 delete generate_data.top_logprobs;
2519 if (/gpt-5-chat-latest/.test(oai_settings.openai_model)) {2519 if (/gpt-5-chat-latest/.test(model)) {
2520 delete generate_data.tools;2520 delete generate_data.tools;
2521 delete generate_data.tool_choice;2521 delete generate_data.tool_choice;
2522 } else if (/gpt-5.1/.test(model) && !/chat-latest/.test(model)) {
2523 delete generate_data.frequency_penalty;
2524 delete generate_data.presence_penalty;
2525 delete generate_data.logit_bias;
2526 delete generate_data.stop;
2522 } else {2527 } else {
2523 delete generate_data.temperature;2528 delete generate_data.temperature;
2524 delete generate_data.top_p;2529 delete generate_data.top_p;
src/constants.js+3 -0
@@ -466,6 +466,9 @@ export const OPENAI_REASONING_EFFORT_MODELS = [
466 'gpt-5-mini-2025-08-07',466 'gpt-5-mini-2025-08-07',
467 'gpt-5-nano',467 'gpt-5-nano',
468 'gpt-5-nano-2025-08-07',468 'gpt-5-nano-2025-08-07',
469 'gpt-5.1',
470 'gpt-5.1-2025-11-13',
471 'gpt-5.1-chat-latest',
469];472];
470473
471export const OPENAI_REASONING_EFFORT_MAP = {474export const OPENAI_REASONING_EFFORT_MAP = {