Managed models and modalities
Check the configured list
import json
from envloop import Client
with Client.remote() as client:
print(client.training_jobs.models())
request = json.loads(open("REQUEST.json").read())
job = client.training_jobs.submit(request)
print(job["job_id"])
GET /v1/job/training-models is project scoped and uses the same configured recipe routes as submission. It returns exact base_model, model_revision, recipe policy/hash, modalities and unsupported workloads, plus features (labels, and for Qwen/Qwen3.8-27B the parent checkpoint rules, hyperparameter ranges and loss mask) and limits (sequence length) that submission enforces. readiness=configured is distinct from accepted submission and actual runnable GPU capacity. A 503 means discovery is unavailable; do not infer support from serving profiles or a private backend model list.
GLM-5.3-Flash
The exact identifier is zai-org/GLM-5.3-Flash; revision is eb9eb208eb0d988989d07a6a12d0fdeb5f52574a. In cloud mode it is a default managed SFT offering for new and existing projects without GLM-specific owner approval. Normal permissions, enforce billing, budget and capacity constraints remain. An emergency deny can remove the offering.
Other recipes
Qwen and DeepSeek batch recipes depend on current platform configuration. Inspect discovery before submitting; this change does not promise their availability or parity with an interactive SDK.
Images
See data for bounded inline inputs. The recipe chooses model/GPU implementation; do not send backend/provider/executor selectors.
recipe=null means omit recipe and use the model default; SFT is a workload name, not a submit value for this field. Hello World uses explicit recipe="hello-world" and its fixed four records.
The native managed backend discovers text SFT from upstream capabilities. Its revisions are provider_managed with model_revision null; this does not prove a frozen GLM QLoRA recipe. Native submission rejects GLM without that recipe while retaining the Qwen managed controller.