APIリファレンス
ファイルアップロードを作成する
1つのローカルファイル、リモートHTTPS URL、またはbase64ソースをアップロードし、一時的なURLを受け取ります。
1つのローカルファイル、リモートHTTPS URL、またはbase64ソースをアップロードし、一時的なURLを受け取ります。
エンドポイント
- ベース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
HTTP 401エラーレスポンス (401)
レスポンススキーマ
JSON
{
"properties": {
"error": {
"description": "人が読めるエラーメッセージ。",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
レスポンス例
JSON
{
"error": "Authentication required"
}
05
HTTP 403エラーレスポンス (403)
レスポンススキーマ
JSON
{
"properties": {
"error": {
"description": "人が読めるエラーメッセージ。",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
レスポンス例
JSON
{
"error": "Standard API key required"
}
06
HTTP 400エラーレスポンス (400)
レスポンススキーマ
JSON
{
"properties": {
"error": {
"description": "人が読めるエラーメッセージ。",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
レスポンス例
JSON
{
"error": "Only HTTPS URLs are allowed"
}
07
HTTP 408エラーレスポンス (408)
レスポンススキーマ
JSON
{
"properties": {
"error": {
"description": "人が読めるエラーメッセージ。",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
レスポンス例
JSON
{
"error": "Download timeout"
}
08
HTTP 413エラーレスポンス (413)
レスポンススキーマ
JSON
{
"properties": {
"error": {
"description": "人が読めるエラーメッセージ。",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
レスポンス例
JSON
{
"error": "File size exceeds the maximum allowed size"
}
09
HTTP 415エラーレスポンス (415)
レスポンススキーマ
JSON
{
"properties": {
"error": {
"description": "人が読めるエラーメッセージ。",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
レスポンス例
JSON
{
"error": "This content type is not supported"
}
10
HTTP 422エラーレスポンス (422)
レスポンススキーマ
JSON
{
"properties": {
"error": {
"description": "人が読めるエラーメッセージ。",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
レスポンス例
JSON
{
"error": "File upload failed. Please try again."
}
11
HTTP 429エラーレスポンス (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"}'