# クイックスタート

Source: https://aiand-docs-staging.pages.dev/ja/getting-started/

このページでは、API キーの取得から初回呼び出しまでを順に解説します。最後まで進めると、レスポンスのストリーミングを体験でき、ツール呼び出し・ビジョン・構造化出力への次のステップも分かります。

## 1. API キーとクレジットを準備

<Steps>

1. [console.aiand.com](https://console.aiand.com) にサインイン — Google、GitHub、またはマジックリンクで。
2. API キーを発行。キーは `sk-` で始まり、表示は **一度きり** — シークレットマネージャーに保存してください。
3. 課金ページでクレジットをチャージ。最低金額は $1。

</Steps>

<Aside type="tip">
  ターミナル派なら、[ai& CLI](/ja/cli/) の `aiand login` でブラウザからサインインすると、キーの作成と保存まで自動で行われます。`aiand run "Hello!"` で初回呼び出しもできます。クレジットのチャージは別途必要です。
</Aside>

## 2. 初回リクエスト

<Tabs>
<TabItem label="Python">

```bash
pip install openai
```

```python
from openai import OpenAI

client = OpenAI(
    base_url="https://api.aiand.com/v1",
    api_key="sk-your-api-key",
)

response = client.chat.completions.create(
    model="google/gemma-4-31b-it",
    messages=[{"role": "user", "content": "Hello!"}],
)
print(response.choices[0].message.content)
```

</TabItem>
<TabItem label="Node.js">

```bash
npm install openai
```

```ts
import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api.aiand.com/v1",
  apiKey: "sk-your-api-key",
});

const response = await client.chat.completions.create({
  model: "google/gemma-4-31b-it",
  messages: [{ role: "user", content: "Hello!" }],
});
console.log(response.choices[0].message.content);
```

</TabItem>
<TabItem label="curl">

```bash
curl https://api.aiand.com/v1/chat/completions \
  -H "Authorization: Bearer sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "google/gemma-4-31b-it",
    "messages": [{"role": "user", "content": "Hello!"}]
  }'
```

</TabItem>
</Tabs>

<Aside type="tip">
  使いたいモデルが決まっていない場合は `client.models.list()` で組織から利用可能なモデルを一覧できます — [カタログ](/ja/models/catalog/) を参照。
</Aside>

## 3. レスポンスをストリーミング

`stream=True` を指定してイテレートします。生成されたトークンが逐次届き、最後にコストとリクエスト ID を含む trailer イベントが配信されます。

```python
stream = client.chat.completions.create(
    model="google/gemma-4-31b-it",
    messages=[{"role": "user", "content": "Tell me a haiku about Tokyo."}],
    stream=True,
    stream_options={"include_usage": True},
)
for chunk in stream:
    if chunk.choices:
        print(chunk.choices[0].delta.content or "", end="", flush=True)
```

ストリーミングの詳細 (オプトインの `metrics` trailer 等) は [ストリーミング](/ja/capabilities/streaming/) を参照。

## 4. 次のステップを選ぶ

| やりたいこと | 進む先 |
|--------------|--------|
| モデルから関数を呼び出させる | [ツール呼び出し](/ja/capabilities/tool-calling/) |
| スキーマに沿った JSON を得る | [構造化出力](/ja/capabilities/structured-outputs/) |
| 画像を渡す | [ビジョン](/ja/capabilities/vision/) |
| 動くアプリを作る (RAG・エージェント・抽出 等) | [クックブック](/ja/cookbook/rag/) |
| LangChain / LlamaIndex / Vercel AI SDK と統合 | [インテグレーション](/ja/integrations/langchain/) |
| 既存の OpenAI / Anthropic プロジェクトを移行 | [OpenAI からの移行](/ja/migrating-openai/) · [Anthropic からの移行](/ja/migrating-anthropic/) |

## API キー以外の認証

ブラウザアプリやコンソールでは `X-Org-ID` ヘッダ付きの JWT 認証もサポートしています。[認証](/ja/authentication/) と [組織の切り替え](/ja/organizations/switching/) を参照。
