Higgsfield: DOP Preview
DOP Preview transforme les images fournies en vidéo selon le processus documenté de modèles de mouvement. Le sélecteur exact dop-preview prend en charge un ou deux effets, avec des contrôles d’intensité, de prompt et de seed conservés avec le résultat terminé.
À propos du modèle
Cette description présente les capacités du modèle. Les entrées, sorties et options disponibles dans Ailoot pour la méthode sélectionnée figurent ci-dessous.
DOP Preview anime les images fournies selon le processus de conversion d’image en vidéo documenté par Higgsfield. Le sélecteur exact est dop-preview. Utilisez dop-preview pour sélectionner le modèle au niveau supérieur et comme valeur de model dans l’objet params documenté. L’image fournit le contenu visuel, tandis que les modèles de mouvement et les instructions écrites déterminent le mouvement et l’effet demandés.
Préparez une image de référence dans laquelle le sujet visé, les détails importants et l’espace environnant sont bien lisibles. Le guide recommande une image haute résolution pour obtenir des détails plus nets. Pour une scène de produit, choisissez une vue qui montre la forme de l’objet et les surfaces qui doivent rester reconnaissables pendant le mouvement. Pour une personne ou un environnement, identifiez la caractéristique visuelle que le mouvement doit mettre en valeur. Fournissez l’URL réelle de l’image de référence via l’entrée image utilisée dans l’exemple de la méthode.
L’opération documente l’utilisation d’un ou de deux modèles de mouvement. Lorsque deux modèles sont fournis, le guide indique que leurs effets se combinent. Les descriptions des préréglages comprennent des mouvements de caméra, la rotation du sujet et des transformations visuelles ; par exemple, Dolly In décrit un rapprochement de la caméra, tandis que 3D Rotation décrit un sujet ou un produit qui tourne sur place. Sélectionnez les identifiants documentés des modèles de mouvement correspondant à la séquence souhaitée et conservez chaque identifiant avec sa valeur d’intensité.
L’intensité du mouvement est un nombre compris entre 0 et 1, dont la valeur par défaut documentée est 0,8. Le guide décrit 0,3 comme un effet subtil et 1 comme un mouvement marqué. Choisissez l’intensité en fonction des détails qui doivent rester lisibles et examinez l’ensemble de l’action générée. La description d’un mouvement et son intensité ont des rôles distincts : le modèle de mouvement sélectionne l’effet, tandis que l’intensité en règle la force.
Le champ prompt doit être présent selon sa description, mais une chaîne vide est autorisée. Pour les effets pilotés par un modèle de mouvement, le guide recommande de laisser prompt vide ; lorsqu’un texte est fourni, il recommande d’inclure la description du modèle de mouvement, car le prompt peut fortement modifier le résultat. Le contrôle enhance_prompt active l’optimisation du prompt et sa valeur par défaut documentée est true. Conservez le texte et ce contrôle avec l’image de référence et les modèles de mouvement sélectionnés lorsque vous comparez des versions.
Le contrôle seed accepte un entier de 1 à 1 000 000. Enregistrez la valeur seed choisie avec les paramètres de génération. La requête expose également un champ seconds de type entier ; conservez la valeur utilisée avec le clip obtenu et examinez la durée et le cadrage réels du clip. Le booléen check_nsfw active le filtre de contenu documenté et vaut true par défaut. Ces contrôles appartiennent à la requête de conversion d’image en vidéo et doivent rester associés au modèle exact sélectionné.
La génération est asynchrone. Conservez l’identifiant de tâche renvoyé lors du suivi par les requêtes de statut et de résultat configurées. La correspondance utilisée à l’achèvement lit les entrées des traitements terminés et les URL brutes de leurs résultats. Enregistrez chaque vidéo terminée et conservez son identifiant de traitement avec l’URL renvoyée, en regroupant toutes les entrées terminées comme résultat de l’opération.
Examinez la vidéo entière au regard de l’image fournie, de l’effet choisi et des instructions écrites : apparence du sujet, mouvement, cadrage et vue de fin. Pour une révision, identifiez le détail visuel concret à modifier et conservez les éléments de la requête qui ont réussi. Conservez ensemble la référence de l’image d’origine, le sélecteur exact, le prompt, les identifiants de mouvement, les intensités, la valeur seed, les paramètres demandés et les ressources terminées afin que la comparaison suivante repose sur la génération réelle.
Ailoot Ultra · Vidéo POST /v1/videos dop-preview
dop-previewPour commencer
DOP Preview transforme les images fournies en vidéo selon le processus documenté de modèles de mouvement. Le sélecteur exact dop-preview prend en charge un ou deux effets, avec des contrôles d’intensité, de prompt et de seed conservés avec le résultat terminé.
- Entrées acceptées
- Images · Texte
- Résultats
- Vidéo
Disponible dans Ailoot · entrées et méthodes
Ailoot Ultra · Vidéo POST /v1/videos
- Entrée
image,text- Sortie
video
| Champ | Type | Exigence | Valeurs et limites | Par défaut |
|---|---|---|---|---|
Champmodel | Typestring | ExigenceObligatoire | Valeurs et limites dop-preview Conditions: Sélecteur de modèles Ailoot. | Par défaut— |
Champparams | Typeobject | ExigenceObligatoire | Valeurs et limites Conditions: Paramètres de génération d’image en vidéo; conservez cette enveloppe. | Par défaut— |
Champparams.model | Typestring | ExigenceObligatoire | Valeurs et limites dop-preview Conditions: Utilisez le même sélecteur que pour model au niveau supérieur. | Par défaut— |
Champparams.prompt | Typestring | ExigenceObligatoire | Valeurs et limites Conditions: Gardez ce champ présent; une chaîne vide est documentée. Les indications écrites influencent fortement l’effet de mouvement sélectionné. | Par défaut— |
Champparams.seconds | Typeinteger | ExigenceFacultatif | Valeurs et limites Conditions: Durée demandée; aucune plage documentée ni valeur par défaut n’est affirmée. | Par défaut— |
Champparams.motions | Typearray | ExigenceFacultatif | Valeurs et limites Conditions: Choisissez un ou deux modèles de mouvement documentés. | Par défaut— |
Champparams.motions[].id | Typestring | ExigenceObligatoire | Valeurs et limites Conditions: Identifiant de mouvement dans l’exemple documenté de demande fonctionnelle. | Par défaut— |
Champparams.motions[].strength | Typenumber | ExigenceObligatoire | Valeurs et limites Minimum: 0 Maximum: 1 Conditions: Intensité du mouvement : 0.3 est décrit comme subtil et 1 comme fort. | Par défaut0,8 |
Champparams.input_images | Typearray | ExigenceFacultatif | Valeurs et limites Conditions: Images de référence, au moyen du tableau d’objets image_url montré dans l’exemple fonctionnel. | Par défaut— |
Champparams.input_images[].type | Typestring | ExigenceObligatoire | Valeurs et limites image_url Conditions: Représentation de référence. | Par défaut— |
Champparams.input_images[].image_url | Typestring | ExigenceObligatoire | Valeurs et limites Conditions: L’URL réelle de votre image de référence accessible. | Par défaut— |
Champparams.enhance_prompt | Typeboolean | ExigenceFacultatif | Valeurs et limites Conditions: Amélioration de l’invite. | Par défauttrue |
Champparams.check_nsfw | Typeboolean | ExigenceFacultatif | Valeurs et limites Conditions: Filtrage du contenu. | Par défauttrue |
Champparams.seed | Typeinteger | ExigenceFacultatif | Valeurs et limites Minimum: 1 Maximum: 1 000 000 Conditions: Graine pour obtenir une sortie cohérente. | Par défaut— |
Champwebhook | Typeobject | ExigenceFacultatif | Valeurs et limites Conditions: Paramètres webhook documentés facultatifs; la récupération des résultats appartenant à votre compte utilise les chemins de tâche Ailoot. | Par défaut— |
Champwebhook.url | Typestring | ExigenceFacultatif | Valeurs et limites Conditions: L’URL de votre récepteur. | Par défaut— |
Champwebhook.secret | Typestring | ExigenceFacultatif | Valeurs et limites Conditions: Le secret de votre récepteur. | Par défaut— |
Champcallback | Typestring | ExigenceFacultatif | Valeurs et limites Conditions: Récepteur callback facultatif; le récepteur documenté répond avec HTTP 200. | Par défaut— |
Combinaisons d’éléments d’entrée
Paramètres et cycle de vie de la méthode
| Paramètre | Contrat |
|---|---|
Paramètrecontent_type | Contratapplication/json |
Paramètrerequired | Contratmodel, params |
Paramètreoptional | Contratparams.seconds, params.motions, params.input_images, params.enhance_prompt, params.check_nsfw, params.seed, webhook, webhook.url, webhook.secret, callback |
Paramètrematerial_types | Contratimage, text |
Paramètreadditional_properties | Contrattrue |
Paramètrevalidation_scope | ContratLe modèle détermine la route de la demande; l’enveloppe de paramètres suit la demande démontrée de génération d’image en vidéo. |
Alias de méthode : /v1/videos/generations
Cycle de vie : submit_once_poll_original
GET /v1/videos/{request_id}
GET /v1/videos/generations/{request_id}
GET /v1/videos/{request_id}/content
GET /v1/videos/generations/{request_id}/content
Utilisez le même sélecteur de modèles au niveau supérieur et dans params.
Créez une seule fois, puis utilisez l’id public et le polling_url retournés pour l’opération d’origine.
Récupérez chaque vidéo terminée appartenant à votre compte; vérifiez la durée et les dimensions réelles dans le résultat.
Remplacez YOUR_ACCESSIBLE_IMAGE_URL dans l’exemple par l’URL réelle de votre image de référence.
Tarifs
Calcul du coût final
Les tarifs affichés servent à estimer le coût avant la génération. Le montant final est calculé à partir du coût enregistré pour la génération d’origine. La durée mesurée du résultat et les quantités prévisionnelles ne constituent pas la quantité finale facturable.
Les tarifs n’ajoutent pas d’options de requête. Les paramètres pris en charge figurent dans la méthode sélectionnée.
- Mode rapide
- Non précisé Lorsque le mode rapide est sélectionné
- Mode Flex
- Non précisé Lorsque le mode flex est sélectionné
- Effort de raisonnement maximal
- Non précisé Lorsque l’effort de raisonnement maximal utilise l’ajustement par défaut (default)
Tarifs estimés à des fins de comparaison
Prix par configuration
Associez chaque coût aux conditions indiquées. Utilisez un seul tarif pour chaque ensemble de configurations alternatives.
| Configuration | Barème tarifaire | Quantité prévisionnelle | Coût |
|---|---|---|---|
| ConfigurationTarifs de base des jetons | Barème tarifaireTarif de base | Quantité prévisionnelle— | Coût Entrée · Jetons en entrée · Estimation à des fins de comparaison uniquement — / 1K jetons Sortie · Jetons en sortie · Estimation à des fins de comparaison uniquement — / 1K jetons Entrée · Lecture du cache · Estimation à des fins de comparaison uniquement — / 1K jetons Entrée · Écriture dans le cache · Estimation à des fins de comparaison uniquement — / 1K jetons Entrée · Écriture dans le cache, 1 h · Estimation à des fins de comparaison uniquement — / 1K jetons |
| ConfigurationCoût de génération estimé | Barème tarifaire— | Quantité prévisionnelleestimation pour une génération | Coût Sortie · Coût estimé de génération · Estimation à des fins de comparaison uniquement $1.24 estimation avant génération Cette estimation ne constitue ni des frais supplémentaires ni un tarif fixe pour la génération terminée. |
Ailoot réserve un montant estimé avant une requête. Après le résultat, le montant final est débité selon l’utilisation mesurée. Pour le streaming, le montant final à débiter est calculé à partir du relevé final d’utilisation. Fonctionnement de la réservation et du débit →
Exemples de requêtes
Ailoot Ultra · Vidéo
{
"model": "dop-preview",
"params": {
"model": "dop-preview",
"prompt": "a cat",
"seed": 500000,
"motions": [
{
"id": "2bae49e6-ffe7-42a8-a73f-d44632c4acaa",
"strength": 0.5
}
],
"input_images": [
{
"type": "image_url",
"image_url": "YOUR_ACCESSIBLE_IMAGE_URL"
}
],
"enhance_prompt": true,
"check_nsfw": true
}
}set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_POLL'
import json
from pathlib import Path
from urllib.parse import quote,urljoin,urlsplit
r=json.loads(Path("result.json").read_text())
i=r.get("id")
if not isinstance(i,str) or not i:raise SystemExit("Keep original response/headers/id; do not resubmit creation.")
u=urljoin("https://api.ailoot.ai",r.get("polling_url") or "/v1/videos/"+quote(i,safe=""))
p=urlsplit(u)
if p.scheme!="https" or p.netloc!="api.ailoot.ai" or not p.path.startswith("/v1/videos/"):raise SystemExit("Use the actual Ailoot lookup path.")
Path("poll-url.txt").write_text(u)
PY_POLL
curl --fail-with-body --silent --show-error "$(cat poll-url.txt)" -H "Authorization: Bearer $AILOOT_API_KEY" -D status-headers.txt -o status.json
Recevoir et enregistrer les résultats
Ailoot Ultra · Vidéo
Conservez les tâches retournées et leurs états. Consultez chaque résultat vidéo terminé appartenant à votre compte.
GET /v1/videos/{request_id}GET /v1/videos/generations/{request_id}GET /v1/videos/{request_id}/contentGET /v1/videos/generations/{request_id}/content
Conserver tous les résultats terminés
Enregistrez chaque vidéo terminée ou fichier renvoyé ; récupérez chaque URL de ressource effectivement renvoyée.
Récupérez chaque sortie réelle terminée; ne présumez pas d’un nombre fixe.
Si la réponse d’origine doit être vérifiée
Conservez la réponse d’origine et l’identité de tâche retournée; un état non reconnu ou un envoi ambigu n’autorise pas une nouvelle création.
Champs de la réponse
| Champ | Type | Signification |
|---|---|---|
Champid | Typestring | SignificationIdentifiant public de tâche ou d’opération Ailoot. |
Champprovider_task_id | Typestring | SignificationIdentifiant de la tâche d’origine, distinct de l’id public. |
Champpolling_url | Typestring | SignificationChemin de consultation Ailoot retourné. |
Champjobs[].id | Typestring | SignificationIdentifiant réel de la tâche retournée. |
Champjobs[].status | Typestring | SignificationÉtat de chaque tâche retournée. |
Champjobs[].results.raw.url | Typestring | SignificationChaque vidéo terminée est accessible par une URL signée appartenant à Ailoot. |
Erreurs et étapes suivantes
| Réponse | Condition | Étape suivante |
|---|---|---|
Réponse400 · invalid_request_error | ConditionJSON ou modèle invalide, ou indice de contenu invalide. | Étape suivante |
Réponse401 · authentication_error | ConditionClé API Ailoot invalide. | Étape suivante |
Réponse403 · permission_error | ConditionLe groupe de la clé API n’est pas autorisé à utiliser cette route média. | Étape suivante |
Réponse404 · not_found_error | ConditionLa tâche d’origine ou la sortie demandée est absente ou n’appartient pas au même utilisateur, à la même clé API ou au même groupe. | Étape suivante |
Réponse502 · result_pending_check | ConditionL’envoi initial ou son état est incomplet ou ne peut pas être rapproché des données disponibles; conservez l’identifiant d’origine et ne soumettez pas la demande de nouveau. | Étape suivante |
Réponse503 · result_pending_check | ConditionLa liaison d’origine, la route ou le média appartenant à votre compte est encore en cours de vérification; poursuivez la vérification de cette opération d’origine. | Étape suivante |
Réponse503 · server_error | ConditionLe service média ou le stockage de la tâche d’origine n’est pas disponible. | Étape suivante |
Alias
Alias du modèle
Ailoot Ultra dop-preview
Alias des chemins de méthode
/v1/videos/generations
ID d’appel associés
FAQ · Higgsfield: DOP Preview
- Quelles entrées et quels résultats sont disponibles ?
POST /v1/videos·dop-preview:image,text→video- Quels champs la requête utilise-t-elle ?
POST /v1/videos·dop-preview:model,params,webhook,callback- Quelles limites s’appliquent ?
POST /v1/videos·dop-preview:params.motions[].strength.minimum:0;params.motions[].strength.maximum:1;params.seed.minimum:1;params.seed.maximum:1000000