コンテンツへスキップ
APIリファレンス
APIリファレンス

ファイルアップロードを作成する

1つのローカルファイル、リモートHTTPS URL、またはbase64ソースをアップロードし、一時的なURLを受け取ります。

1つのローカルファイル、リモートHTTPS URL、またはbase64ソースをアップロードし、一時的なURLを受け取ります。

エンドポイント

POST /api/v1/files
ベースURL
https://runapi.ai
API バージョン
v1
認証
Authorization: Bearer YOUR_API_KEY
02

リクエスト

JSONボディ

指定されたリクエストの場所にのみ値を送信してください。

application/json - Base64 sourceフィールド4件
file_namestring
任意

作成されるファイルアップロードのオプションのファイル名。

sourceobject
必須

Base64エンコードされたソースバイト。

source.datastring
必須

Base64データ

source.typestring
必須

base64ソース表現を選択します。

application/json - URL sourceフィールド4件
file_namestring
任意

作成されるファイルアップロードのオプションのファイル名。

sourceobject
必須

ダウンロード元のリモート HTTPS ソース。

source.typestring
必須

URLソース表現を選択します。

source.urlstring
必須

ダウンロード用の公開 HTTPS URL。

multipart/form-dataフィールド2件
filestring
必須

アップロードするローカルファイルのバイト列。

file_namestring
任意

作成されるファイルアップロードのオプションのファイル名。

03

成功レスポンス

HTTP 201

POST /api/v1/files

JSON
{
  "created_at": "2026-07-27T10:00:00.000Z",
  "expires_at": "2026-07-27T11:00:00.000Z",
  "file_name": "mask.png",
  "mime_type": "image/png",
  "size_bytes": 204800,
  "url": "https://file.runapi.ai/temp/user-uploads/mask.png"
}
04

エラーレスポンス (401)

HTTP 401
レスポンススキーマ
JSON
{
  "properties": {
    "error": {
      "description": "人が読めるエラーメッセージ。",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

レスポンス例

JSON
{
  "error": "Authentication required"
}
05

エラーレスポンス (403)

HTTP 403
レスポンススキーマ
JSON
{
  "properties": {
    "error": {
      "description": "人が読めるエラーメッセージ。",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

レスポンス例

JSON
{
  "error": "Standard API key required"
}
06

エラーレスポンス (400)

HTTP 400
レスポンススキーマ
JSON
{
  "properties": {
    "error": {
      "description": "人が読めるエラーメッセージ。",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

レスポンス例

JSON
{
  "error": "Only HTTPS URLs are allowed"
}
07

エラーレスポンス (408)

HTTP 408
レスポンススキーマ
JSON
{
  "properties": {
    "error": {
      "description": "人が読めるエラーメッセージ。",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

レスポンス例

JSON
{
  "error": "Download timeout"
}
08

エラーレスポンス (413)

HTTP 413
レスポンススキーマ
JSON
{
  "properties": {
    "error": {
      "description": "人が読めるエラーメッセージ。",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

レスポンス例

JSON
{
  "error": "File size exceeds the maximum allowed size"
}
09

エラーレスポンス (415)

HTTP 415
レスポンススキーマ
JSON
{
  "properties": {
    "error": {
      "description": "人が読めるエラーメッセージ。",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

レスポンス例

JSON
{
  "error": "This content type is not supported"
}
10

エラーレスポンス (422)

HTTP 422
レスポンススキーマ
JSON
{
  "properties": {
    "error": {
      "description": "人が読めるエラーメッセージ。",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

レスポンス例

JSON
{
  "error": "File upload failed. Please try again."
}
11

エラーレスポンス (429)

HTTP 429
レスポンススキーマ
JSON
{
  "properties": {
    "error": {
      "description": "人が読めるエラーメッセージ。",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

レスポンス例

JSON
{
  "error": "Too many file uploads for this account. Please retry later."
}
12

cURLの例

CURL
curl -X POST https://runapi.ai/api/v1/files \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"source":{"type":"url","url":"https://cdn.runapi.ai/public/samples/mask.png"},"file_name":"mask.png"}'