---
title: "Create model resources"
method: POST
path: "/rl/model-resources"
tags: ["RL"]
---

# Create model resources

`POST /rl/model-resources`

Provisions a standalone model resource that training sessions can attach to.

## Request body

- RLCreateModelResourcesRequest — Request to provision a standalone model resource
  - `base_model` string, required — Base model to provision the resource for
  - `compute_config` RLComputeConfigCreateRequest — Compute layout to provision for a model resource
    - `num_generator_replicas` integer — Number of generator replicas. 0 runs the trainer only, with no generator.
    - `gpu_type` 'H100-80GB' | 'B200-SXM' — GPU type to provision. Omit to use the model's default GPU type.
  - `lora_enabled` boolean — Whether the resource hosts LoRA sessions or a single full-weight session
  - `optimizer_config` RLOptimizerConfig — Optimizer configuration
    - `adamw` RLAdamWOptimizerConfig — AdamW optimizer configuration
    - `muon` RLMuonOptimizerConfig — Advanced configuration for the Muon optimizer.
      - `scaling_strategy` 'MUON_SCALING_STRATEGY_UNSPECIFIED' | 'MUON_SCALING_STRATEGY_MATCH_ADAMW' | 'MUON_SCALING_STRATEGY_ORIGINAL'

## Response `200`

Model resource details

- RLModelResources — Allocated GPU resources that training sessions attach to
  - `id` string, required — Unique identifier for the model resource
  - `status` 'MODEL_RESOURCES_STATUS_PENDING' | 'MODEL_RESOURCES_STATUS_CREATING' | 'MODEL_RESOURCES_STATUS_READY' | 'MODEL_RESOURCES_STATUS_ERROR' | 'MODEL_RESOURCES_STATUS_STOPPED' | 'MODEL_RESOURCES_STATUS_STOPPING', required — Lifecycle status of a model resource
  - `error` RLModelResourcesError — Structured detail for the model resource's current error
    - `code` 'MODEL_RESOURCES_ERROR_CODE_CAPACITY_WAIT_TIMEOUT' | 'MODEL_RESOURCES_ERROR_CODE_PROVISIONING_FAILED', required — Finite machine-readable model resource lifecycle error code
    - `message` string, required — User-safe human-readable detail for the current status
    - `occurred_at` string, date-time, required — Timestamp when this error was reported
  - `base_model` string, required — Base model the resource is provisioned for
  - `compute_config` RLComputeConfig, required — Compute layout for a model resource
    - `num_generator_replicas` integer, required — Number of generator replicas. 0 means the resource runs the trainer only, with no generator.
    - `gpu_type` 'H100-80GB' | 'B200-SXM' — GPU type selected for this resource.
  - `lora_enabled` boolean, required — Whether the resource hosts LoRA sessions or a full-weight session
  - `created_at` string, date-time, required — Timestamp when the model resource was created
  - `updated_at` string, date-time, required — Timestamp when the model resource was last updated
  - `optimizer_config` RLOptimizerConfig, required — Optimizer configuration
    - `adamw` RLAdamWOptimizerConfig — AdamW optimizer configuration
    - `muon` RLMuonOptimizerConfig — Advanced configuration for the Muon optimizer.
      - `scaling_strategy` 'MUON_SCALING_STRATEGY_UNSPECIFIED' | 'MUON_SCALING_STRATEGY_MATCH_ADAMW' | 'MUON_SCALING_STRATEGY_ORIGINAL'
  - `created_by` string, required — ID of the user who created the model resource

## Other responses

- `default` — An unexpected error response.

## Changes

- **2026-08-31** `f4885bc38424` — 2 info
  - added the new optional request property `compute_config/gpu_type`
  - added the optional property `compute_config/gpu_type` to the response with the `200` status
- **2026-08-26** `42c9ead8f2f5` — 1 warning, 1 info
  - added the new `MODEL_RESOURCES_ERROR_CODE_CAPACITY_WAIT_TIMEOUT` enum value to the `error/code` response property for the response status `200`
  - removed the `MODEL_RESOURCES_ERROR_CODE_CAPACITY_UNAVAILABLE` enum value from the `error/code` response property for the response status `200`
- **2026-07-26** `0c4fdad77435` — 3 info
  - added the new optional request property `optimizer_config`
  - added the required property `created_by` to the response with the `200` status
  - added the required property `optimizer_config` to the response with the `200` status

[Change history](https://skmtc.dev/together/apis/together-apis/changes/rl/model-resources/post.md)

---

[API](https://skmtc.dev/together/apis/together-apis.md) · [All operations](https://skmtc.dev/together/apis/together-apis/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/together/together-apis/revisions/f4885bc38424/schema)
