Check your balance

The Current Credits card shows your balance
- Click Add Credit. The Add credit dialog opens on the same page.
- Click a preset amount, or type an amount from Rp 15,000 to Rp 10,000,000 in Amount. Balance after top-up shows your balance once the payment is confirmed.
- Click Continue to payment, then scan the QRIS code with any banking or e-wallet app that supports QRIS. Your balance goes up as soon as the payment is confirmed.

Choose an amount, then click Continue to payment
Create an API key
- Under AI, click API keys. The API Keys page opens.
- Click Create API key. You’ll find the button next to API endpoint at the top of the page and in the Your API keys section. Both open the same dialog.
- Enter a Key name, such as the app or environment that will use the key. You can rename the key later.
- To make the key stop working at a set time, fill in Expires at (optional). The field uses the time zone shown under it, which you can change in Account settings. Leave the field empty for a key that never expires.
- Click Create key.
- The dialog changes to Your key is ready and shows your key under New secret key. Click Copy secret, then click Done. If you close the dialog first, you can still copy the key later with Copy in the Your API keys list.

Name the key and optionally set an expiry
Save your API key
https://ai.sinarcloud.com/v1. On the API Keys page, the hint under the API endpoint box gives it. The box itself shows the full chat completions endpoint, https://ai.sinarcloud.com/v1/chat/completions.
The base URL is in the hint under API endpoint
- Under Your API keys, click Copy next to your key. You can skip this if you still have the key you copied in the previous step.
- Run the command for your system. Replace
paste-your-api-key-herewith your key, and keep the quotes.

Copy is next to each key under Your API keys
- macOS and Linux
- Windows PowerShell
Choose a model
- Under AI, click Models.
- To show chat models, click Text under the search box. To find a model, type its name, alias, or publisher in the search box, for example
deepseek. - Compare prices. The Input (Rp/1M) and Output (Rp/1M) columns show each model’s price per 1M tokens. Models tagged ZDR are zero data retention versions, which don’t keep your prompts and responses after your request is complete.
- Click Details on the model you want. The model’s details open in a dialog.

Search for a model, then click Details

Check the model capabilities, then copy the alias
publisher/model, for example deepseek/deepseek-v4-1-flash. The examples below use this alias. Replace it with the alias of the model you chose.Send a chat completion
SINARCLOUD_API_KEY. The cURL example uses macOS and Linux shell syntax. On Windows, use the Python or Node.js example.- cURL: paste the command into your terminal and press Enter.
- Python: install the SDK with
pip install openai, save the code asexample.py, and runpython example.py. On macOS and Linux, usepip3andpython3ifpiporpythonisn’t found. - Node.js: install the SDK with
npm install openai, save the code asexample.mjs, and runnode example.mjs.
choices[0].message.content. The cURL example prints the whole response as JSON. The Python and Node.js examples print only the reply.You can also copy a ready-made request from the console. In the model’s details, click Use via API. Under Sample usage, click cURL, Python, TypeScript, or Go, then click Copy code. The samples already include the base URL and the model’s alias. Before you run one, replace YOUR_API_KEY with your key. The samples put the key in the code, so don’t share or commit a file that contains it.
Ready-made samples on the Use via API tab
YOUR_API_KEY with your key, and run it. To call a different model, swap in the alias of another model whose details list Chat completions under Model capabilities.Find the request in Usage

Recent requests on the Log tab

Show details opens the request's Request ID, tokens, and status
If the request fails
Errors use the OpenAI error format. Thecode field tells you what went wrong.
401 invalid_api_key
401 invalid_api_key
Authorization header is Bearer followed by a space and your key. If the key has expired or been revoked, create a new one.402 insufficient_balance
402 insufficient_balance
404 model_not_found
404 model_not_found
429 rate_limit_exceeded
429 rate_limit_exceeded
503 key_provisioning_pending
503 key_provisioning_pending
502, 503, or 504
502, 503, or 504