API ReferenceFile APIs

ファイルアップロード API

POST https://file.reachapi.ai/file/uploads を使うと、ローカルの画像、音声、動画ファイルをアップロードできます。成功時は、モデル API に渡せる一時 HTTPS URL が data.url に返ります。

ファイルがローカル端末やプライベート環境にある場合は、この API で先にアップロードしてください。対象モデルがアクセスできる公開 HTTPS ファイル URL をすでに持っている場合は、その URL を直接渡すこともできます。

1. エンドポイント

項目
メソッドPOST
URLhttps://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-data

curl、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 フィールド

フィールド必須説明
filebinaryはいアップロードするローカルの画像、音声、動画ファイル。追加のファイル種別フィールドは不要です。

3. 対応ファイル形式

ファイル種別対応 MIME返却される file_kind
画像image/png, image/jpeg, image/jpg, image/webp, image/gifimage
音声audio/mpeg, audio/mp3, audio/wav, audio/x-wav, audio/mp4, audio/aac, audio/ogg, audio/webmaudio
動画video/mp4, video/webm, video/quicktime, video/x-matroskavideo

補足:

  • image/jpgimage/jpeg に正規化されます
  • audio/mp3audio/mpeg に正規化されます
  • audio/x-wavaudio/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"
  }
}
フィールド説明
codenumber成功時は 200
msgstring成功時は空文字列
data.file_idstring一時ファイル ID。画像は img_、音声は aud_、動画は vid_ で始まります。
data.file_kindstringimageaudiovideo のいずれか
data.object_keystring問い合わせや記録に使える一時ファイルパス識別子
data.urlstringモデル API に渡せる一時 HTTPS URL
data.mime_typestring正規化された MIME タイプ
data.size_bytesnumberファイルサイズ。単位は byte
data.expires_atstring推定有効期限。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. 利用上のヒント

  1. data.url はアップロード後なるべく早く使用してください。一時 URL であり、長期保存用ではありません。
  2. アップロード時は ;type=video/mp4 のように正しい MIME タイプを明示してください。
  3. ブラウザやクライアントから信頼できる MIME タイプを取得できない場合は、サーバー側でファイル種別を検証してからアップロードしてください。
  4. 画像 URL は各画像 API の説明に従って input.image_urls などに渡します。音声や動画 URL は、対象モデル API が指定する対応フィールドに渡してください。

On this page