Modèles de génération

Préréglages à champ unique pour la génération d’images et de vidéos. Appliquez des recettes produit, édition, virales, cinématiques, motion ou transform en passant un slug modèle.

Les modèles sont des recettes pré-sélectionnées pour « effet créatif » pour /v1/images/generations et /v1/videos/generations. Chaque modèle propose un modèle recommandé, une liste de modèles pris en charge, des paramètres par défaut et des règles d’entrée requises. Passez template: "<slug>" dans le corps de la requête et EmpirioLabs applique l’effet avec tout ce que vous fournissez, choisit le modèle le mieux supporté pour vous, puis transmet l’appel au travailleur.

Le même catalogue de modèles alimente le bouton Modèles dans le terrain de jeu.

Modèles de liste

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

Utilisez le point de terminaison générique pour le catalogue complet d’images et de vidéos, ou les points de terminaison spécifiques à chaque modalité lorsque vous connaissez déjà le type de génération.

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

Liste des modèles vidéo

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

Filtres

  • category: viral, cinematic, motion, transform, social, extend, product, edit, portrait
  • modality: video ou image
  • model: ne retourner que des modèles qui prennent en charge un slug de modèle spécifique
  • featured: true de filtrer uniquement selon les modèles de caractéristiques
$curl https://api.empiriolabs.ai/v1/videos/templates?category=viral \
> -H "Authorization: Bearer $EMPIRIOLABS_API_KEY"

Forme de réponse

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}

Modèles d’images de liste

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"

Récupérer un seul modèle

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"

Il retourne 404 avec code: "template_not_found" si la balle n’existe pas.

Générez une vidéo avec un modèle

Ajoutez template: "<slug>" à un appel /v1/videos/generations normal. Vous devez fournir ce que le modèle exige (required_inputs), généralement une image de référence.

$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"
> }'

Comportement:

  • Sélection de modèles: si vous ne réussissez pas model, le recommended_model du modèle est utilisé. Si c’est le cas, la plupart des modèles valident qu’il est dans supported_models et retournent 400 template_model_unsupported sinon. Les modèles avec metadata.force_recommended_model: true sont épinglés à recommended_model pour la fidélité des effets.
  • Vérification de modalité: les modèles d’image ne s’appliquent qu’à /v1/images/generations; Les modèles vidéo ne s’appliquent qu’à /v1/videos/generations.
  • Mix de prompts: votre prompt (le cas échéant) est combiné avec le style intégré du modèle, de sorte que la sortie générée correspond à la fois à votre demande et à l’esthétique de l’effet. Envoyez une courte invite directionnelle; EmpirioLabs s’occupe du reste.
  • Params par défaut: default_params du modèle ne fusionne que pour les clés que vous n’avez pas explicitement définies.
  • Entrées requises: \{ "image": true \} signifie que l’appel retourne 400 template_missing_image si aucun image_url / image / images n’est fourni.

Générez une image avec un modèle

$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"]
> }'

La réponse est la même enveloppe de tâche asynchrone qu’une génération vidéo normale:

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

Consultez GET /v1/jobs/\{job_id\} jusqu’à la terminale.

Prolonger une vidéo précédente

/v1/videos/generations accepte également extend_from de poursuivre une génération précédente. EmpirioLabs s’occupe du câblage du pré-clivage pour vous et utilise une demande de continuité sensée, sauf si vous fournissez la vôtre.

$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>" }
> }'

Vous pouvez également passer une URL directe:

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

Extend peut composer avec des modèles:

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

Extend fonctionne sur chaque modèle vidéo

Passez extend_from avec n’importe quel modèle vidéo supporté. Si vous omettez model, EmpirioLabs choisit un défaut raisonnable pour l’extension.

Codes d’erreur

HTTPCodeSignification
400template_not_foundLe slug ne correspond à aucun modèle actif
400template_model_unsupportedLe modèle que vous avez réussi ne figure pas dans le supported_models
400template_modality_mismatchLa modalité du modèle ne correspond pas au point de terminaison de génération
400template_missing_imageLe modèle nécessite une image mais le corps n’en incluait pas
400template_missing_videoLe modèle nécessite une vidéo de référence mais le corps n’en incluait pas une
400template_no_modelLe modèle n’a pas de recommended_model et tu n’en as pas réussi un
400extend_extraction_failedJe n’ai pas pu traiter la vidéo précédente pendant une extension. Essaie un autre modèle.
400extend_invalid_shapeextend_from était mal formé
400extend_no_prior_videole travail précédent n’avait pas d’URL vidéo résoluble
404extend_prior_not_foundLa job_id en extend_from était inconnue
500extend_frame_upload_failedJe n’ai pas pu préparer la vidéo précédente pour l’extension. Réessayez, ou essayez un autre modèle.