Get the model catalog
Every model roasOS can run, with its modes, request fields, credit examples, provider endpoints, and prompt guide. This is the source of truth for enums and prices.
Every model roasOS can run, with its modes, request fields, credit examples, provider endpoints, and prompt guide. This is the source of truth for enums and prices.
Authorization
bearerAuth API key authentication. Use your API key as the bearer token: Authorization: Bearer roasos_sk_...
In: header
Query Parameters
Public returns the models in the pickers. Hidden also returns models kept out of the pickers but still priced and runnable.
"public"Value in
- "public"
- "hidden"
Response Body
application/json
application/json
curl -X GET "https://example.com/v1/catalog"{ "data": { "catalog_version": "string", "pricing_version": "string", "models": [ { "key": "string", "id": "string", "family": "string", "endpoint": "string", "modes": [ "string" ], "fields": { "property1": { "type": "string", "enum": [ "string" ], "min": 0, "max": 0, "max_chars": 0, "max_items": 0, "required": true, "default": "string", "modes": [ "string" ], "mode_rules": { "property1": { "required": true, "max": 0 }, "property2": { "required": true, "max": 0 } }, "pinned": true }, "property2": { "type": "string", "enum": [ "string" ], "min": 0, "max": 0, "max_chars": 0, "max_items": 0, "required": true, "default": "string", "modes": [ "string" ], "mode_rules": { "property1": { "required": true, "max": 0 }, "property2": { "required": true, "max": 0 } }, "pinned": true } }, "media": { "property1": { "max_items": 1, "max_bytes": 1, "content_types": [ "string" ], "min_seconds": 0, "max_seconds": 0 }, "property2": { "max_items": 1, "max_bytes": 1, "content_types": [ "string" ], "min_seconds": 0, "max_seconds": 0 } }, "result": { "kind": "string", "fields": { "property1": { "type": "string", "enum": [ "string" ], "min": 0, "max": 0, "max_chars": 0, "max_items": 0, "required": true, "default": "string", "modes": [ "string" ], "mode_rules": { "property1": { "required": true, "max": 0 }, "property2": { "required": true, "max": 0 } }, "pinned": true }, "property2": { "type": "string", "enum": [ "string" ], "min": 0, "max": 0, "max_chars": 0, "max_items": 0, "required": true, "default": "string", "modes": [ "string" ], "mode_rules": { "property1": { "required": true, "max": 0 }, "property2": { "required": true, "max": 0 } }, "pinned": true } } }, "credits": { "unit": "string", "examples": { "property1": 0, "property2": 0 } }, "provider_endpoint_ids": [ "string" ], "pricing_keys": [ "string" ], "provider_not_exposed": { "property1": null, "property2": null }, "provider_pricing": { "text": "string", "source": "string" }, "hidden": true, "deprecated": { "replacement": "string", "note": "string" }, "guide": { "family": "string", "best_for": "string", "rules": [ "string" ], "example": "string" }, "expected_generation_ms": { "p50_ms": 1, "p90_ms": 1, "basis": "measured" } } ], "roles": [ { "job": "string", "family": "string", "model": "string" } ] }}Rerun a job from its exact recorded request
Previous Page
List ad formats
Every ad format roasOS makes: video formats, product effects, TikTok slideshows and statics. Each format has its premise, its beats, how to shoot it, what breaks it, what it needs, its default model roles (resolve them in `GET /v1/catalog` roles) and the pack skill that runs it. Ask for a format by name in `POST /v1/agent/completions`. This call is free.