# OpenAI と Anthropic の形式

Source: https://aiand-docs-staging.pages.dev/ja/api/file-shapes/

ai& の Files API は単一エンドポイントで 2 種類の形式のレスポンスを返します — `anthropic-version` ヘッダの有無で切り替わります。

これにより、公式 `openai` SDK と `anthropic` SDK の両方が同じ URL、同じ API キーで、コード変更なしに動作します。

## ヘッダによる形式選択

| ヘッダ | レスポンス形式 |
|--------|----------------|
| `anthropic-version: <任意>` | Anthropic Files API 形式 |
| (ヘッダなし) | OpenAI Files API 形式 |

## 例: 同じファイルを 2 形式で取得

<Tabs>
<TabItem label="OpenAI 形式">

```bash
curl https://api.aiand.com/v1/files/file-abc123 \
  -H "Authorization: Bearer sk-..."
```

```json
{
  "id": "file-abc123",
  "object": "file",
  "bytes": 12345,
  "created_at": 1716960000,
  "filename": "cat.png",
  "purpose": "vision"
}
```

</TabItem>
<TabItem label="Anthropic 形式">

```bash
curl https://api.aiand.com/v1/files/file-abc123 \
  -H "Authorization: Bearer sk-..." \
  -H "anthropic-version: 2023-06-01"
```

```json
{
  "id": "file-abc123",
  "type": "file",
  "size_bytes": 12345,
  "created_at": "2026-05-18T12:00:00Z",
  "filename": "cat.png",
  "mime_type": "image/png"
}
```

</TabItem>
</Tabs>

## できること

- OpenAI Python SDK の `client.files.create(...)` がそのまま動作。
- Anthropic Python SDK の `client.beta.files.upload(...)` がそのまま動作。
- 一方の SDK でアップロードし、もう一方で取得することも可能 — `file_id` は同一。

<Aside type="tip">
  Anthropic SDK には `purpose` フィールドがありません。ai& は MIME から推論します — [用途](/ja/api/file-purposes/) を参照。
</Aside>
