# Start with cicora.ai

Source: https://cicora.ai/en/docs

Choose the result you need. If you are connecting the API for the first time, the quickstart below ends with a real model response.

## Choose a task


[Create an account or sign in](/en/docs/account-access)


Use email or Google to access your account.


[Choose a model](/en/docs/models)


Check current availability, capabilities, and exact model IDs.


[Top up the balance](/en/docs/billing-balance)


Choose the payment method shown for the active payer profile.


[Check usage](/en/docs/usage-costs)


Understand request charges, agent usage, cache, and reasoning.



## Send your first API request

You need `curl` and `jq`. The request uses Chat Completions without streaming and sets `max_tokens` to `64`, which keeps the first request's output reservation small and explicit.



### Create and copy a key once

Open [API keys](https://app.cicora.ai/api-keys), create a key, and copy the plaintext value immediately. It is not shown again. Keep it in a trusted server environment and never send the complete key to support.

```bash
set -euo pipefail

export CICORA_API_KEY="sk_..."
```



### Discover an available chat model

Request text models that advertise `max_tokens`. The command also checks availability and excludes image endpoint entries before printing the exact ID.

```bash
if ! MODELS_JSON="$(
  curl --fail-with-body --silent --show-error "https://api.cicora.ai/v1/models?output_modalities=text&supported_parameters=max_tokens" \
    -H "Authorization: Bearer $CICORA_API_KEY"
)"; then
  printf '%s\n' "$MODELS_JSON" >&2
  exit 1
fi

if ! MODEL_ID="$(
  jq -er '
    first(
      .data[]
      | select(
          .available == true
          and ((.architecture.output_modalities // []) | index("text"))
          and ((.supported_parameters // []) | index("max_tokens"))
          and ((.supported_endpoint_types // []) | all(. != "image-generation" and . != "image-edit"))
        )
      | .id
    )
  ' <<<"$MODELS_JSON"
)"; then
  printf 'No available chat model with max_tokens found in /v1/models.\n' >&2
  exit 1
fi
export MODEL_ID
printf '%s\n' "$MODEL_ID"
```



### Send a non-streaming request

```bash
curl --fail-with-body --silent --show-error https://api.cicora.ai/v1/chat/completions \
  -H "Authorization: Bearer $CICORA_API_KEY" \
  -H "Content-Type: application/json" \
  -d "{\"model\":\"$MODEL_ID\",\"messages\":[{\"role\":\"user\",\"content\":\"Reply with ok\"}],\"max_tokens\":64,\"stream\":false}"
```



In a successful response, the assistant text is at `choices[0].message.content`. On an HTTP error, `curl` leaves the structured response body visible for diagnosis. Keep the exact returned model ID in your client instead of guessing or copying an old model list.

*A platform key discovers an available model and receives a Chat Completions response.*

*Discover a current model before sending the first request.*

## Continue from the working request


[Chat Completions](/en/docs/chat-completions)


Add streaming and model-specific options.


[Anthropic Messages](/en/docs/anthropic-messages)


Use the Anthropic-compatible request format.


[Images](/en/docs/images)


Discover image models and supported operations.


[Files from chat](/en/docs/generated-files)


Create verified XLSX, CSV, TXT, and JSON files with private downloads.


[Coding tools](/en/docs/integrations-overview)


Choose a currently verified integration.


[Spend limits](/en/docs/spend-limits)


Set a USD limit for a project key.

## FAQ

### What is cicora.ai?

cicora.ai is a multi-model AI workspace and compatible API for chat, text, images, video, coding tools, and teams. Start with the [overview](/en.md), [documentation](/en/docs.md), or [model catalog](/en/models.md).

### How is usage billed?

Confirmed usage is charged in USD from the active workspace's prepaid balance. Use the live catalog for current model prices and the [usage guide](/en/docs/usage-costs.md) for settlement details.

### Which protocols and integrations are available?

Documentation covers OpenAI-compatible Chat Completions and Responses, Anthropic Messages, image interfaces, Claude Code, OpenCode, and Codex CLI. Compatibility does not imply support for every upstream parameter.

### Which sources are authoritative and current?

For model IDs, availability, capabilities, limits, and prices, use the [live catalog](/en/models.md). For API behavior, use the matching [documentation page](/en/docs.md). Never include API keys, private workspace data, or preview URLs in public documents.
