API ReferenceFile APIs
ファイルアップロード API
POST https://file.reachapi.ai/file/uploads を使うと、ローカルの画像、音声、動画ファイルをアップロードできます。成功時は、モデル API に渡せる一時 HTTPS URL が data.url に返ります。
ファイルがローカル端末やプライベート環境にある場合は、この API で先にアップロードしてください。対象モデルがアクセスできる公開 HTTPS ファイル URL をすでに持っている場合は、その URL を直接渡すこともできます。
1. エンドポイント
| 項目 | 値 |
|---|---|
| メソッド | POST |
| URL | https://file.reachapi.ai/file/uploads |
| 認証 | Authorization: Bearer YOUR_REACH_API_KEY |
| リクエスト形式 | multipart/form-data |
| ファイルフィールド | file |
| アップロード方式 | 単一ファイル |
| サイズ上限 | 52428800 bytes、約 50MB |
リクエストヘッダー:
Authorization: Bearer YOUR_REACH_API_KEY
Content-Type: multipart/form-datacurl、SDK のアップロードヘルパー、または FormData を使う場合は、multipart boundary をクライアントに生成させてください。
2. リクエスト
2.1 cURL
curl -sS -X POST "https://file.reachapi.ai/file/uploads" \
-H "Authorization: Bearer YOUR_REACH_API_KEY" \
-F "file=@/path/to/file.mp4;type=video/mp4"2.2 フィールド
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
file | binary | はい | アップロードするローカルの画像、音声、動画ファイル。追加のファイル種別フィールドは不要です。 |
3. 対応ファイル形式
| ファイル種別 | 対応 MIME | 返却される file_kind |
|---|---|---|
| 画像 | image/png, image/jpeg, image/jpg, image/webp, image/gif | image |
| 音声 | audio/mpeg, audio/mp3, audio/wav, audio/x-wav, audio/mp4, audio/aac, audio/ogg, audio/webm | audio |
| 動画 | video/mp4, video/webm, video/quicktime, video/x-matroska | video |
補足:
image/jpgはimage/jpegに正規化されますaudio/mp3はaudio/mpegに正規化されますaudio/x-wavはaudio/wavに正規化されます- フォームフィールド名は
fileにしてください - 1 リクエストでアップロードできるファイルは 1 つです
4. 成功レスポンス
{
"code": 200,
"msg": "",
"data": {
"file_id": "vid_7a4b5c6d7e8f901234567890abcdef12",
"file_kind": "video",
"object_key": "tmp/user-1/vid_7a4b5c6d7e8f901234567890abcdef12.mp4",
"url": "https://cdn.example.com/tmp/user-1/vid_7a4b5c6d7e8f901234567890abcdef12.mp4",
"mime_type": "video/mp4",
"size_bytes": 1784421,
"expires_at": "2026-05-14T10:00:00Z"
}
}| フィールド | 型 | 説明 |
|---|---|---|
code | number | 成功時は 200 |
msg | string | 成功時は空文字列 |
data.file_id | string | 一時ファイル ID。画像は img_、音声は aud_、動画は vid_ で始まります。 |
data.file_kind | string | image、audio、video のいずれか |
data.object_key | string | 問い合わせや記録に使える一時ファイルパス識別子 |
data.url | string | モデル API に渡せる一時 HTTPS URL |
data.mime_type | string | 正規化された MIME タイプ |
data.size_bytes | number | ファイルサイズ。単位は byte |
data.expires_at | string | 推定有効期限。ISO-8601 形式 |
5. エラー
エラーは JSON で返ります。認証、クォータ、レート制限のエラーはプラットフォーム共通のエラー形式に従います。
主な例:
| HTTP Status | レスポンス例 | シナリオ |
|---|---|---|
401 | {"code":401,"msg":"API key is required","data":null} | Authorization ヘッダーがない |
400 | {"code":400,"msg":"Content-Type must be multipart/form-data","data":null} | リクエスト形式が multipart/form-data ではない |
400 | {"code":400,"msg":"Field \file` is required","data":null}` | file フィールドがない |
400 | {"code":400,"msg":"Field \file` exceeds 52428800 bytes","data":null}` | ファイルが 50MB を超えている |
400 | {"code":400,"msg":"Field \file` must be an image, audio, or video file with a supported MIME type","data":null}` | MIME タイプが非対応 |
500 | {"code":500,"msg":"File upload failed","data":null} | アップロードに失敗。再試行し、継続する場合はサポートに連絡してください |
6. 利用上のヒント
data.urlはアップロード後なるべく早く使用してください。一時 URL であり、長期保存用ではありません。- アップロード時は
;type=video/mp4のように正しい MIME タイプを明示してください。 - ブラウザやクライアントから信頼できる MIME タイプを取得できない場合は、サーバー側でファイル種別を検証してからアップロードしてください。
- 画像 URL は各画像 API の説明に従って
input.image_urlsなどに渡します。音声や動画 URL は、対象モデル API が指定する対応フィールドに渡してください。