Migration guide

Move the endpoint. Review the differences.

System1 Models is a separate service for open-weight model alternatives. The shared state and questions structure is familiar; surrounding service behavior is different. At launch, send exactly one question per request. More than one returns non-retryable HTTP 400 request_limit_exceeded; send separate requests for each question.

  1. Use the System1 API base URL

    When available, the base URL is https://api.system1models.ai. Do not use this website as an API endpoint; API requests go to the API host.

  2. Create a System1 API key

    System1 keys, account balances, prepaid credits and model availability are separate from TypeSafe Jev.

  3. Choose a processing tier

    Use the key default or S1-Region: eu|global where the account permits it. EU requests run only on contracted operators inside the EU; inference data never leaves the EU.

  4. Check the live catalogue

    Confirm current model IDs, modalities, prices and supported question shapes from GET /v1/models.

  5. Send one question per request

    This launch limit is a documented Jev migration difference. More than one question returns HTTP 400 request_limit_exceeded with retryable: false. Send separate requests; the service does not split or discard questions.

  6. Handle retries deliberately

    A request keeps only a keyed body digest, request ID, status and usage receipt for 24 hours; no answer or request content is stored for replay. While it is running, the same key and body return 202 in_progress. After settlement, or while settlement is uncertain, the same key returns 409 idempotency_replay_unavailable with a receipt and no second charge. A confirmed failure with no answer and no charge releases the key so the same key and body can retry. Reusing a key with a different body returns 409 idempotency_conflict. Use a fresh key only for a deliberately new inference.

Compatibility boundary

Shared request shape; separate service contract

System1 follows the shared state/questions structure, with a launch limit of exactly one question per request. More than one question returns non-retryable HTTP 400 request_limit_exceeded; clients must send separate requests rather than expect automatic splitting. Score rubrics carry an ordered criteria array of at least two levels; TypeSafe’s published schema also accepts a single level, which launch requests must not use. Model IDs, tiers, auth, billing, other limits, metadata and error behavior are System1-specific. Byte-for-byte compatibility is not claimed until the documented-schema integration test passes.

Jev is a trademark of TypeSafe AI. System1 Models is not affiliated with TypeSafe AI and does not resell Jev.