エラーコード
API は標準的な HTTP ステータスコードを使用し、一貫したレスポンスフォーマットで詳細なエラー情報を返します。
| コード | 意味 |
|---|
| 200 | 成功 |
| 400 | Bad Request — 無効なパラメータ |
| 401 | Unauthorized — 無効または期限切れのトークン |
| 402 | Payment Required — クォータ不足 |
| 403 | Forbidden — このリソースへのアクセスが拒否されました |
| 404 | Not Found — リソースが存在しません |
| 413 | Payload Too Large — リクエストボディが大きすぎます |
| 429 | Too Many Requests — レート制限を超過しました |
| 500 | Internal Server Error |
| 502 | Bad Gateway — 上流の AI サービスが利用不可 |
| 503 | Service Unavailable — 一時的な過負荷 |
すべてのエラーは一貫した JSON 構造で返されます。
{
"error": {
"code": 400,
"message": "Invalid prompt parameter",
"type": "invalid_request_error",
"param": "prompt",
"fallback_suggestion": "provide a valid prompt"
}
}
| フィールド | 型 | 説明 |
|---|
error.code | integer | HTTP ステータスエラーコード |
error.message | string | 人間が読めるエラーの説明 |
error.type | string | エラータイプのカテゴリ(下記参照) |
error.param | string | 関連するパラメータ名(該当する場合) |
error.fallback_suggestion | string | エラーを解決するための推奨アクション |
| タイプ | HTTP コード | 説明 |
|---|
invalid_request_error | 400 | リクエストパラメータが無効または不足しています |
authentication_error | 401 | 無効または期限切れの API トークンです |
insufficient_quota_error | 402 | アカウントのクレジットが不足しています。こちらでチャージ |
permission_error | 403 | このモデルまたはリソースへのアクセス権限がありません |
not_found_error | 404 | リクエストされたリソース(モデル、タスク)が見つかりません |
request_too_large_error | 413 | リクエストボディがサイズ制限を超えています |
rate_limit_error | 429 | リクエストが多すぎます — 指定された間隔後にリトライしてください |
internal_server_error | 500 | 内部サーバーエラー — しばらくしてから再試行してください |
upstream_error | 502 | 上流の AI サービスが利用不可 — 別のモデルをお試しください |
service_unavailable_error | 503 | サービスが一時的に利用不可 — 30 秒後にリトライしてください |
import requests
response = requests.post(
"https://api.evolink.ai/v1/videos/generations",
headers=headers,
json=payload
)
if response.status_code == 200:
task = response.json()
print(f"Task created: {task['id']}")
elif response.status_code == 429:
# Rate limited — back off and retry
print("Rate limited. Retrying...")
elif response.status_code == 402:
print("Insufficient credits. Please top up at https://evolink.ai/dashboard/billing")
else:
error = response.json().get("error", {})
print(f"Error [{error.get('type')}]: {error.get('message')}")
if error.get("fallback_suggestion"):
print(f"Suggestion: {error.get('fallback_suggestion')}")
- 失敗したビデオ生成はアカウントに課金されません
- 失敗の詳細については 非同期タスク でタスクステータスを確認してください
- ほとんどのエラーはパラメータを調整してリトライすることで解決できます
- レート制限 — レート制限について理解する
- 認証 — 認証の問題を解決する