curl --request POST \
--url https://api.evolink.ai/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "kling-custom-element",
"model_params": {
"element_name": "マイキャラクター",
"element_description": "短髪の若い男性キャラクター、白いTシャツを着ている",
"reference_type": "image_refer",
"element_image_list": {
"frontal_image": "https://example.com/front.jpg",
"refer_images": [
{
"image_url": "https://example.com/side.jpg"
}
]
}
}
}
'
{
"created": 1757169743,
"id": "task-unified-1757169743-8dxnm6yz",
"model": "kling-custom-element",
"object": "video.generation.task",
"progress": 0,
"status": "pending",
"task_info": {
"can_cancel": true,
"estimated_time": 30
},
"type": "video",
"usage": {
"billing_rule": "per_call",
"credits_reserved": 1,
"user_group": "default"
}
}{
"error": {
"code": "invalid_request",
"message": "Invalid request parameters",
"type": "invalid_request_error"
}
}{
"error": {
"code": "unauthorized",
"message": "Invalid or expired token",
"type": "authentication_error"
}
}{
"error": {
"code": "insufficient_quota",
"message": "Insufficient quota. Please top up your account.",
"type": "insufficient_quota"
}
}{
"error": {
"code": "model_access_denied",
"message": "Token does not have access to model: kling-custom-element",
"type": "invalid_request_error"
}
}{
"error": {
"code": "rate_limit_exceeded",
"message": "Too many requests, please try again later",
"type": "rate_limit_error"
}
}{
"error": {
"code": "internal_error",
"message": "Internal server error",
"type": "api_error"
}
}{
"error": {
"code": "upstream_error",
"message": "Upstream AI service unavailable",
"type": "upstream_error"
}
}Kling
Kling カスタムエレメント
- Kling Custom Element(kling-custom-element)は参照画像または動画から再利用可能なサブジェクトエレメント(キャラクター/オブジェクト)を作成します
- 作成成功後、返された
element_idはKling O3シリーズおよびKling V3画像から動画でelement_listパラメータを通じて参照でき、キャラクター外観の一貫性制御を実現します - 非同期処理モード、返されたタスクIDを使用してステータスを照会
- タスク完了後、
result_dataに動画生成用のelement_idが含まれます
重要な注意事項:
- このモデルは再利用可能なサブジェクト(エレメント)の作成に使用されます。動画は生成しません。prompt / duration / quality / aspect_ratioなどのパラメータは不要です
POST
/
v1
/
videos
/
generations
curl --request POST \
--url https://api.evolink.ai/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "kling-custom-element",
"model_params": {
"element_name": "マイキャラクター",
"element_description": "短髪の若い男性キャラクター、白いTシャツを着ている",
"reference_type": "image_refer",
"element_image_list": {
"frontal_image": "https://example.com/front.jpg",
"refer_images": [
{
"image_url": "https://example.com/side.jpg"
}
]
}
}
}
'
{
"created": 1757169743,
"id": "task-unified-1757169743-8dxnm6yz",
"model": "kling-custom-element",
"object": "video.generation.task",
"progress": 0,
"status": "pending",
"task_info": {
"can_cancel": true,
"estimated_time": 30
},
"type": "video",
"usage": {
"billing_rule": "per_call",
"credits_reserved": 1,
"user_group": "default"
}
}{
"error": {
"code": "invalid_request",
"message": "Invalid request parameters",
"type": "invalid_request_error"
}
}{
"error": {
"code": "unauthorized",
"message": "Invalid or expired token",
"type": "authentication_error"
}
}{
"error": {
"code": "insufficient_quota",
"message": "Insufficient quota. Please top up your account.",
"type": "insufficient_quota"
}
}{
"error": {
"code": "model_access_denied",
"message": "Token does not have access to model: kling-custom-element",
"type": "invalid_request_error"
}
}{
"error": {
"code": "rate_limit_exceeded",
"message": "Too many requests, please try again later",
"type": "rate_limit_error"
}
}{
"error": {
"code": "internal_error",
"message": "Internal server error",
"type": "api_error"
}
}{
"error": {
"code": "upstream_error",
"message": "Upstream AI service unavailable",
"type": "upstream_error"
}
}承認
すべてのAPIにBearer Token認証が必要です
APIキーの取得:
APIキー管理ページにアクセスしてAPIキーを取得してください
リクエストヘッダーに追加:
Authorization: Bearer YOUR_API_KEY
ボディ
application/json
モデル名
利用可能なオプション:
kling-custom-element 例:
"kling-custom-element"
モデルパラメータ
Show child attributes
Show child attributes
タスク完了時のHTTPSコールバックURL
コールバックタイミング:
- タスクが完了、失敗、またはキャンセルされた時にトリガー
- 課金確認後に送信
セキュリティ制限:
- HTTPSプロトコルのみ
- 内部IPアドレスは禁止(127.0.0.1, 10.x.x.x, 172.16-31.x.x, 192.168.x.x など)
- URLの長さは
2048文字以下
コールバックメカニズム:
- タイムアウト:
10秒 - 失敗後最大
3回リトライ(失敗後1/2/4秒) - コールバックレスポンス形式はタスク照会APIと一致
- 2xxステータスコードは成功とみなされ、その他のコードはリトライをトリガー
例:
"https://your-domain.com/webhooks/video-task-completed"
レスポンス
サブジェクトエレメント作成タスクが正常に送信されました
タスク作成タイムスタンプ
例:
1757169743
タスクID
例:
"task-unified-1757169743-8dxnm6yz"
使用された実際のモデル名
例:
"kling-custom-element"
タスクタイプ
利用可能なオプション:
video.generation.task タスク進捗率(0-100)
必須範囲:
0 <= x <= 100例:
0
タスクステータス
利用可能なオプション:
pending, processing, completed, failed 例:
"pending"
タスク詳細情報
Show child attributes
Show child attributes
タスク出力タイプ
利用可能なオプション:
video 例:
"video"
使用量と課金情報
Show child attributes
Show child attributes