Get startedAPI referenceGoing to productionExplore models

Get started

Quickstart

One API. Your choice of model.

Before you begin

Create an account, fund your wallet, and issue an API key in the console. Select a model ID from the authenticated model list; example IDs must be replaced if they are not available to your account.

Environment
export PICO_BASE_URL="https://api.picox.ai"
export PICO_API_KEY="YOUR_API_KEY"

Set up with an AI agent

Copy this prompt into your AI agent to configure PicoX, select an available model, and verify the connection.

PicoXhttps://picox.ai
Preview prompt
Configure the AI agent or application in this environment to use PicoX (https://picox.ai) as its model provider. Complete the configuration and verify it.

1. Identify the client, its version, and its actual configuration format. Use its supported custom-provider settings; preserve unrelated settings and back up any file you edit.

2. Set the provider name to PicoX. For OpenAI-compatible clients, set the base URL to https://picox.ai/v1. Use /chat/completions or /responses according to the client's supported API; do not append /v1 twice. For Anthropic-compatible clients, use https://picox.ai as the base URL and /v1/messages as the endpoint.

3. Read the PicoX API key from PICO_API_KEY or the client's secret store. If missing, guide me to create one at https://picox.ai/console/#keys and enter it locally. Do not use a New API Access Token, print the key, or commit it.

4. Query GET https://picox.ai/v1/models with Authorization: Bearer $PICO_API_KEY. Select a model ID from data[].id whose supported_endpoints includes the client's API (chat/completions, responses, or messages); ask me to choose if needed. Do not invent a model ID or copy an upstream channel name.

5. Configure authentication using the client's supported settings: Authorization: Bearer <PICO_API_KEY> for OpenAI-compatible requests, or x-api-key: <PICO_API_KEY> with anthropic-version: 2023-06-01 for Anthropic Messages. Leave the request's provider field and model :supplier suffix unset unless I request a specific supplier; PicoX is the client profile name.

6. Prefer streaming if the client supports it. Run a minimal connection test with the chosen model and report whether authentication, model access, and response handling work.

7. Summarize the files and settings changed, the selected model, and the test result without exposing secrets. If this client cannot use a custom provider, explain the limitation instead of claiming success.

Make your first request

PicoX accepts the SDKs and request formats you already use. Set the PicoX base URL, provide your API key, and choose any model available to your account.

Create an API key

Generate a key in the developer console. Secret keys are shown once and begin with pk_live_.

curl "$PICO_BASE_URL/v1/chat/completions" \
  -H "Authorization: Bearer $PICO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "pico-chat-1",
    "messages": [
      {"role": "user", "content": "Explain vector databases in one sentence."}
    ]
  }'
from openai import OpenAI
import os

client = OpenAI(
    api_key=os.environ["PICO_API_KEY"],
    base_url=os.environ["PICO_BASE_URL"] + "/v1",
)

completion = client.chat.completions.create(
    model="pico-chat-1",
    messages=[{"role": "user", "content": "Explain vector databases in one sentence."}],
)
print(completion.choices[0].message.content)
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.PICO_API_KEY,
  baseURL: `${process.env.PICO_BASE_URL}/v1`,
});

const completion = await client.chat.completions.create({
  model: "pico-chat-1",
  messages: [{ role: "user", content: "Explain vector databases in one sentence." }],
});
console.log(completion.choices[0].message.content);

What comes back

Response
{
  "id": "chatcmpl-example",
  "object": "chat.completion",
  "model": "pico-chat-1",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "A vector database stores embeddings for similarity search."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 20,
    "completion_tokens": 12,
    "total_tokens": 32
  }
}
Copied