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-previewPremiers pas
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
- Types d’entrée
image,text- Types de sortie
video
| Champ | Type | Exigence | Valeurs et limites | Par défaut |
|---|---|---|---|---|
Champmodel | Typestring | ExigenceObligatoire | Valeurs et limites dop-preview Conditions: Sélecteur de modèle Ailoot. | Par défaut— |
Champparams | Typeobject | ExigenceObligatoire | Valeurs et limites Conditions: Paramètres de vidéo à partir d’images ; conservez cette enveloppe. | Par défaut— |
Champparams.model | Typestring | ExigenceObligatoire | Valeurs et limites dop-preview Conditions: Utilisez le même sélecteur que le champ model de niveau supérieur. | Par défaut— |
Champparams.prompt | Typestring | ExigenceObligatoire | Valeurs et limites Conditions: Maintenez 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 ni valeur par défaut documentée 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 figurant dans l’exemple de requête fonctionnelle documenté. | 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, avec le tableau d’objets image_url présenté 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: URL réelle et accessible de votre image de référence. | Par défaut— |
Champparams.enhance_prompt | Typeboolean | ExigenceFacultatif | Valeurs et limites Conditions: Amélioration de la consigne. | 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 des résultats cohérents. | Par défaut— |
Champwebhook | Typeobject | ExigenceFacultatif | Valeurs et limites Conditions: Paramètres webhook facultatifs documentés ; la récupération des résultats vous appartenant utilise les chemins des tâches Ailoot. | Par défaut— |
Champwebhook.url | Typestring | ExigenceFacultatif | Valeurs et limites Conditions: URL de votre destinataire. | Par défaut— |
Champwebhook.secret | Typestring | ExigenceFacultatif | Valeurs et limites Conditions: Secret de votre destinataire. | Par défaut— |
Champcallback | Typestring | ExigenceFacultatif | Valeurs et limites Conditions: Destinataire facultatif du callback ; le destinataire documenté répond par 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 requête ; l’enveloppe de paramètres suit la requête démontrée de vidéo à partir d’images. |
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èle au niveau supérieur et dans params.
Créez une seule fois, puis utilisez les valeurs publiques id et polling_url renvoyées pour l’opération d’origine.
Récupérez chaque vidéo terminée vous appartenant ; vérifiez sa durée et ses 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 par jeton | Barème tarifaireTarif de base | Quantité prévisionnelle— | Coût Entrée · Tokens en entrée · Estimation à des fins de comparaison uniquement — / 1K tokens Sortie · Tokens en sortie · Estimation à des fins de comparaison uniquement — / 1K tokens Entrée · Lecture du cache · Estimation à des fins de comparaison uniquement — / 1K tokens Entrée · Écriture dans le cache · Estimation à des fins de comparaison uniquement — / 1K tokens Entrée · Écriture dans le cache, 1 h · Estimation à des fins de comparaison uniquement — / 1K tokens |
| 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 renvoyées et leur état. Consultez chaque résultat vidéo terminé vous appartenant.
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 supposez pas un nombre fixe.
Si la réponse d’origine doit être vérifiée
Conservez la réponse d’origine et l’identité de la tâche renvoyé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 la tâche ou de l’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 renvoyé. |
Champjobs[].id | Typestring | SignificationIdentifiant réel de la tâche renvoyé. |
Champjobs[].status | Typestring | SignificationÉtat de chaque tâche renvoyé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/model non valide ou index de contenu non valide. | Étape suivante |
Réponse401 · authentication_error | ConditionClé API Ailoot non valide. | É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 | ConditionLa soumission initiale ou son statut est incomplet ou ne peut pas être rapproché ; conservez l’identifiant d’origine et ne soumettez pas de nouveau la demande. | Étape suivante |
Réponse503 · result_pending_check | ConditionL’association d’origine, la route ou le média vous appartenant est encore en cours de vérification ; poursuivez la vérification de cette même 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