---
title: "Save group model config"
method: POST
path: "/api/group/{group}/model_config/{model}"
tags: ["group"]
---

# Save group model config

`POST /api/group/{group}/model_config/{model}`

Save group model config

## Path parameters

- `group` string, required

## Request body

- ControllerSaveGroupModelConfigRequest
  - `force_save_detail` boolean
  - `max_image_generation_count` integer
  - `max_video_generation_count` integer
  - `max_video_generation_seconds` integer
  - `model` string
  - `override_force_save_detail` boolean
  - `override_limit` boolean
  - `override_max_image_generation_count` boolean
  - `override_max_video_generation_count` boolean
  - `override_max_video_generation_seconds` boolean
  - `override_price` boolean
  - `override_request_body_storage_max_size` boolean
  - `override_response_body_storage_max_size` boolean
  - `override_retry_times` boolean
  - `override_summary_claude_long_context` boolean
  - `override_summary_service_tier` boolean
  - `override_timeout_config` boolean
  - `price` ModelPrice
    - `audio_input_price` number
    - `audio_input_price_unit` integer
    - `audio_output_price` number
    - `audio_output_price_unit` integer
    - `cache_creation_price` number
    - `cache_creation_price_unit` integer
    - `cached_price` number
    - `cached_price_unit` integer
    - `conditional_prices` ModelConditionalPrice[]
      - `condition` ModelPriceCondition
        - `daily_end_time` string — HH:mm, exclusive; earlier than start crosses midnight
        - `daily_start_time` string — HH:mm, inclusive
        - `end_time` integer — Unix timestamp, 0 means no end limit
        - `input_token_max` integer
        - `input_token_min` integer
        - `output_token_max` integer
        - `output_token_min` integer
        - `quality` string[]
        - `resolution` string[]
        - `service_tier` string
        - `start_time` integer — Unix timestamp, 0 means no start limit
        - `timezone` string — IANA timezone for the daily time range
      - `price` ModelPrice — recursive
    - `image_input_price` number
    - `image_input_price_unit` integer
    - `image_output_price` number
    - `image_output_price_unit` integer
    - `input_price` number
    - `input_price_unit` integer
    - `output_price` number
    - `output_price_unit` integer
    - `per_request_price` number
    - `thinking_mode_output_price` number — when ThinkingModeOutputPrice and ReasoningTokens are not 0, OutputPrice and OutputPriceUnit will be overwritten
    - `thinking_mode_output_price_unit` integer
    - `video_input_price` number
    - `video_input_price_unit` integer
    - `web_search_price` number
    - `web_search_price_unit` integer
  - `request_body_storage_max_size` integer
  - `response_body_storage_max_size` integer
  - `retry_times` integer
  - `rpm` integer
  - `summary_claude_long_context` boolean
  - `summary_service_tier` boolean
  - `timeout_config` ModelTimeoutConfig
    - `request_timeout` integer
    - `stream_request_timeout` integer
  - `tpm` integer

## Response `200`

OK

- MiddlewareAPIResponse
  - `data` unknown
  - `message` string
  - `success` boolean

---

[API](https://skmtc.net/labring/apis/ai-proxy-swagger-api.md) · [All operations](https://skmtc.net/labring/apis/ai-proxy-swagger-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/labring/ai-proxy-swagger-api/revisions/696faf563b42/schema)
