ジェネレーションテンプレート

画像と映像生成のためのワンフィールドプリセット。テンプレートスラッグを渡すことで、プロダクト、編集、バイラル、シネマティック、モーション、または変換レシピを適用できます。

テンプレートは、/v1/images/generations/v1/videos/generationsのための事前キュレーションされた「クリエイティブ効果」レシピです。各テンプレートには推奨モデル、サポートモデルのリスト、デフォルトのパラメータ、必要な入力ルールが付属しています。リクエストボディでtemplate: "<slug>"を渡すと、EmpirioLabsはあなたが提供した他の効果にその効果を適用し、最適なサポートモデルを選び、そのコールをワーカーに転送します。

同じテンプレートカタログがプレイグラウンドのテンプレートボタンを操作しています。

リストテンプレート

GET
/v1/templates
1curl https://api.empiriolabs.ai/v1/templates \
2 -H "Authorization: Bearer <token>" \
3 -H "Content-Type: application/json"

画像や動画カタログ全体には汎用エンドポイントを使い、生成タイプが分かっている場合はモダリティ固有のエンドポイントを使いましょう。

$curl https://api.empiriolabs.ai/v1/templates?modality=image \
> -H "Authorization: Bearer $EMPIRIOLABS_API_KEY"

リスト動画テンプレート

GET
/v1/videos/templates
1curl https://api.empiriolabs.ai/v1/videos/templates \
2 -H "Authorization: Bearer <token>" \
3 -H "Content-Type: application/json"

フィルター

  • category:viralcinematicmotiontransformsocialextendproducteditportrait
  • modality:videoimage
  • model:特定のモデルスラッグをサポートするテンプレートのみを返します
  • featured:true featured template に絞り込む
$curl https://api.empiriolabs.ai/v1/videos/templates?category=viral \
> -H "Authorization: Bearer $EMPIRIOLABS_API_KEY"

応答形状

1{
2 "object": "list",
3 "template_count": 11,
4 "data": [
5 {
6 "slug": "baseball-stadium",
7 "display_name": "Stadium",
8 "category": "viral",
9 "description": "Customer-facing description shown in the playground card.",
10 "recommended_model": "kling-o3",
11 "supported_models": ["kling-o3"],
12 "default_params": { "aspect_ratio": "16:9", "duration": 10 },
13 "required_inputs": { "image": true, "min_images": 1, "max_images": 1 },
14 "cover_image_url": "https://media.empiriolabs.ai/assets/template-posters/baseball-stadium.jpg",
15 "preview_video_url": "https://media.empiriolabs.ai/assets/template-previews/baseball-stadium.mp4",
16 "modality": "video",
17 "is_featured": true,
18 "display_order": 10
19 }
20 ]
21}

リスト画像テンプレート

GET
/v1/images/templates
1curl https://api.empiriolabs.ai/v1/images/templates \
2 -H "Authorization: Bearer <token>" \
3 -H "Content-Type: application/json"
$curl https://api.empiriolabs.ai/v1/images/templates?model=seedream-5-0-lite \
> -H "Authorization: Bearer $EMPIRIOLABS_API_KEY"

単一のテンプレートを取得する

GET
/v1/templates/:slug
1curl https://api.empiriolabs.ai/v1/templates/studio-product-shot \
2 -H "Authorization: Bearer <token>" \
3 -H "Content-Type: application/json"
$curl https://api.empiriolabs.ai/v1/templates/studio-product-shot \
> -H "Authorization: Bearer $EMPIRIOLABS_API_KEY"

スラッグが存在しなければ404をcode: "template_not_found"で返します。

テンプレートで動画を生成する

通常の/v1/videos/generations通話にtemplate: "<slug>"を加えましょう。テンプレートが求めるもの(required_inputs)を必ず提供しなければなりません。通常は参考画像です。

$curl https://api.empiriolabs.ai/v1/videos/generations \
> -H "Authorization: Bearer $EMPIRIOLABS_API_KEY" \
> -H "Content-Type: application/json" \
> -d '{
> "template": "baseball-stadium",
> "image_url": "https://example.com/me.jpg"
> }'

行動:

  • モデル選択:model合格しなければ、テンプレートのrecommended_modelが使われます。もしそうすれば、ほとんどのテンプレートはsupported_modelsであることを検証し、それ以外は400個返template_model_unsupported返します。metadata.force_recommended_model: trueのあるテンプレートは効果の忠実度のためにrecommended_modelにピン留めされます。
  • モダリティチェック:画像テンプレートは/v1/images/generationsにのみ適用されます。動画テンプレートは/v1/videos/generationsにのみ適用されます。
  • プロンプトブレンド:prompt(あれば)テンプレートの組み込みスタイリングと組み合わさり、生成される出力がリクエストと効果の美学の両方に合致します。短い方向性プロンプトを送信します。残りはEmpirioLabsが担当します。
  • デフォルトパラメータ:テンプレートから明示的に設定していないキーだけdefault_paramsマージします。
  • *必須入力:\{ "image": true \}は、image_url/image/imagesが提供されない場合、通話が400template_missing_imageを返すことを意味します。

テンプレートで画像を生成する

$curl https://api.empiriolabs.ai/v1/images/generations \
> -H "Authorization: Bearer $EMPIRIOLABS_API_KEY" \
> -H "Content-Type: application/json" \
> -d '{
> "template": "background-swap",
> "prompt": "Place this product on a brushed steel studio plinth",
> "image": ["https://example.com/product.jpg"]
> }'

応答は通常のビデオ生成と同じ非同期ジョブエンベロープです:

1{
2 "job_id": "abc123...",
3 "status": "processing",
4 "poll_url": "/v1/jobs/abc123..."
5}

最終段階まで投票GET /v1/jobs/\{job_id\}

以前の動画を延長する

/v1/videos/generationsまた、前の世代を継ぐためにextend_fromも受け入れています。EmpirioLabsはプリアークリップの配線を代行し、自分で提供しない限り合理的な連続性プロンプトを使ってくれます。

$curl https://api.empiriolabs.ai/v1/videos/generations \
> -H "Authorization: Bearer $EMPIRIOLABS_API_KEY" \
> -H "Content-Type: application/json" \
> -d '{
> "extend_from": { "job_id": "<prior_job_id>" }
> }'

直接URLを渡すこともできます:

1{ "extend_from": { "video_url": "https://media.empiriolabs.ai/..." } }

Extendはテンプレートで作成できます:

1{
2 "template": "action-hero",
3 "extend_from": { "job_id": "<prior>" }
4}

Extendはすべてのビデオモデルで動作します

対応するどのビデオモデルでもextend_fromを通れます。modelを省略すると、EmpirioLabsは拡張機能に対して合理的なデフォルトを選びます。

エラーコード

HTTPコード意味
400template_not_foundスラッグはどのアクティブテンプレートとも一致しません
400template_model_unsupported合格したモデルはテンプレートのsupported_modelsに含まれていません
400template_modality_mismatchテンプレートのモダリティが生成エンドポイントと一致しません
400template_missing_imageテンプレートには画像が必要ですが、本文には含まれていませんでした
400template_missing_videoテンプレートには参考動画が必要ですが、本文には含まれていませんでした
400template_no_modelテンプレートにはrecommended_modelがなく、合格もしていません
400extend_extraction_failed前の動画を拡張で処理できませんでした。別のモデルを試してみてください。
400extend_invalid_shapeextend_fromは奇形だった
400extend_no_prior_video前の仕事には解決可能な動画URLがなかった
404extend_prior_not_foundextend_fromjob_idは不明だった
500extend_frame_upload_failed前の動画をExtendのために準備できませんでした。再挑戦するか、別のモデルを試してみてください。