Source: https://ailoot.ai/models/fr-be/runway-gen-4-5/
Canonical: https://ailoot.ai/models/fr-be/runway-gen-4-5/
Language: fr-be

# Runway: Gen-4.5

[Markdown](https://ailoot.ai/models/fr-be/runway-gen-4-5/index.md) · [JSON](https://ailoot.ai/models/fr-be/runway-gen-4-5/facts.json)

## [Runway: Gen-4.5](https://ailoot.ai/models/fr-be/runway-gen-4-5/)

Runway Gen-4.5 crée des vidéos à partir d’une description de scène ou d’une image accompagnée de consignes de mouvement. Ses clips de 2 à 10 secondes, les instructions explicites de caméra et les choix de composition distincts selon l’entrée texte ou image conviennent aux concepts cinématographiques, aux plans d’illustration et aux scènes visuelles animées.

- [**Ailoot Ultra · Vidéo** `POST /v1/videos` `runway/gen-4.5`](https://ailoot.ai/models/fr-be/runway-gen-4-5/#method-0)

À 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.

Runway Gen-4.5 est un modèle de génération vidéo doté de modes à partir de texte ou d’une image. Il peut suivre un brief décrivant la composition d’une scène, l’action du sujet, la chorégraphie de la caméra et une suite d’événements. Le résultat utile est un court plan généré qui peut être examiné, conservé ou assemblé avec d’autres images filmées.

#### Choisir le mode d’entrée du plan

La génération de vidéo à partir de texte commence par une description écrite de la scène. Précisez à la fois le contenu visible et le mouvement : sujet, décor, éclairage, cadrage, action et comportement de la caméra. Ce mode convient à une nouvelle scène, à un plan d’illustration, à un plan de fond ou à un concept visuel dont l’image initiale n’a pas à reproduire une image fournie.

La génération de vidéo à partir d’une image commence par une image qui sert de première image du clip. Elle fournit la composition, le contenu, l’éclairage et le style. Concentrez le prompt écrit sur la suite : action du sujet, mouvements dans l’environnement, mouvement de caméra et progression du plan.

Préparez une image nette où les détails importants sont déjà visibles. Les visages flous, les mains floues ou d’autres artefacts peuvent devenir plus visibles une fois animés. Une référence qui suggère un mouvement rapide par de la poussière ou du flou de mouvement peut aussi contredire un prompt demandant un sujet immobile.

#### Décrire directement les visuels et le mouvement

Utilisez un langage naturel clair et des descriptions positives du résultat souhaité. Un brief à partir de texte peut commencer par le point de vue de la caméra, le sujet et l’action, puis préciser le traitement de la scène. Une description détaillée est utile lorsque le plan répond à des exigences définies ; une description plus simple laisse davantage de place à l’exploration. Aucun nombre de mots idéal ne remplace la clarté.

Par exemple, décrivez une vue rapprochée d’une lampe de bureau en laiton qui s’allume, suivie d’un lent mouvement de caméra révélant un carnet à côté. Pour la génération à partir de texte, précisez les matériaux visibles et la lumière. Si une image fournie définit déjà ces détails, le prompt de génération à partir d’image peut se concentrer sur le changement de lumière et la révélation par la caméra.

Évitez les consignes contradictoires. Une vue fixe avec de légers mouvements du sujet diffère d’un travelling énergique à caméra portée. Ajoutez les détails qui définissent le plan utile plutôt qu’une longue liste de styles visuels sans rapport entre eux.

#### Vocabulaire de caméra et actions en séquence

Le guide de caméra du producteur distingue le cadrage, les angles, le mouvement et la mise au point. Un gros plan change ce qui remplit l’image, une contre-plongée change la perspective, un panoramique fait pivoter la vue de la caméra et un travelling d’accompagnement suit un sujet. Une consigne de bascule de point déplace la mise au point entre des sujets visibles. Précisez ce qui doit rester visible ou être révélé pendant le mouvement.

Les prompts séquentiels peuvent exprimer les événements en langage courant ou avec des repères temporels approximatifs. Ces repères guident l’ordre et les temps approximatifs ; ils ne garantissent pas une exécution à l’image près. Laissez aux actions demandées le temps de se dérouler naturellement dans la durée de clip choisie.

Pour un plan fixe, décrivez le mouvement qui doit se produire à l’intérieur de l’image et renforcez l’intention d’une caméra immobile. Le producteur indique que les vues totalement immobiles peuvent être difficiles, surtout pour certains plans larges ou d’ensemble. Examinez les petits mouvements indésirables dans le résultat réel au lieu de supposer qu’une formule demandant une caméra fixe les rend impossibles.

#### Durée, dimensions et fréquence d’images

Gen-4.5 prend en charge des clips de 2 à 10 secondes. Une durée plus longue peut accueillir plusieurs actions ordonnées, tandis qu’une brève réaction ou révélation peut utiliser un plan plus court. La sortie documentée est en 720p, à 24 ou 25 images par seconde dans le processus de génération du producteur.

La spécification de génération à partir de texte indique le 16:9 en 1280 × 720 pixels. La génération à partir d’image ajoute le 9:16 en 720 × 1280, le 1:1 en 960 × 960, le 4:3 en 1104 × 832, le 3:4 en 832 × 1104 et le 21:9 en 1584 × 672. Associez toujours le mode à ses dimensions réelles, au lieu de supposer que les deux modes d’entrée proposent les mêmes rapports largeur/hauteur.

Le rapport de l’image peut définir la composition par défaut, et sa modification peut recadrer l’entrée. Vérifiez l’emplacement du sujet avant de juger le mouvement : une action correcte n’est pas utile si une partie essentielle de l’image source a été coupée.

#### Construire une séquence plus longue à partir de plans terminés

Pour les travaux guidés par une image, le producteur décrit le prolongement d’une séquence en utilisant la dernière image d’un clip terminé comme image d’entrée d’une autre génération. Les clips sont ensuite combinés dans un logiciel de montage, où sont traités leur image commune et leurs temps. Il s’agit d’une suite de plans distincts, et non d’une génération unique de durée illimitée.

Conservez l’image finale et le brief correspondant afin que le plan suivant commence dans l’état visuel prévu. Vérifiez la continuité dans les séquences assemblées, notamment l’apparence du sujet, la direction de la caméra et la transition entre les clips.

#### Conserver et examiner le livrable de production

Après la génération, examinez le clip entier et conservez la sortie terminée. Le processus du producteur propose aussi des choix distincts d’agrandissement et d’export de production, tels que ProRes ou une séquence PNG. Ce sont des options supplémentaires du processus ; les dimensions natives de génération restent distinctes d’un résultat agrandi ultérieurement.

Utilisez Gen-4.5 pour des concepts cinématographiques, des idées visuelles animées, des plans d’illustration et le développement de courtes scènes. Conservez ensemble le prompt, l’image d’entrée lorsqu’elle est utilisée, la durée, le mode et le clip renvoyé. Vérifiez l’ordre des actions, le comportement de la caméra, les détails du sujet, les coupes indésirables et le cadrage souhaité, puis apportez une correction ciblée au plan.

**Ailoot Ultra · Vidéo** `POST /v1/videos` `runway/gen-4.5`

[`runway/gen-4.5`](https://ailoot.ai/models/fr-be/#m=runway%2Fgen-4.5&route=Ultra&caller=runway%2Fgen-4.5&fmt=videos)

Runway /`runway/gen-4.5`

### Premiers pas

Runway Gen-4.5 crée des vidéos à partir d’une description de scène ou d’une image accompagnée de consignes de mouvement. Ses clips de 2 à 10 secondes, les instructions explicites de caméra et les choix de composition distincts selon l’entrée texte ou image conviennent aux concepts cinématographiques, aux plans d’illustration et aux scènes visuelles animées.

Entrées acceptées

Texte · Images

Résultats

Vidéo

### Disponible dans Ailoot · entrées et méthodes

**Ailoot Ultra · Vidéo** `POST /v1/videos`

Entrée

`text`, `image`

Sortie

`video`

Format de sortie

Octets MP4 d’origine ; sans normalisation ni transcodage

| Champ | Type | Exigence | Valeurs et limites | Par défaut |
| --- | --- | --- | --- | --- |
| Champ`model` | Type`string` | ExigenceObligatoire | Valeurs et limites runway/gen-4.5 | Par défaut— |
| Champ`prompt` | Type`string` | ExigenceObligatoire | Valeurs et limites | Par défaut— |
| Champ`duration` | Type`integer` | ExigenceObligatoire | Valeurs et limites 2, 3, 4, 5, 6, 7, 8, 9, 10 Minimum: 1 Maximum: 600 | Par défaut— |
| Champ`resolution` | Type`string` | ExigenceFacultatif | Valeurs et limites 720p | Par défaut— |
| Champ`aspect_ratio` | Type`string` | ExigenceFacultatif | Valeurs et limites 16:9, 9:16 | Par défaut— |
| Champ`generate_audio` | Type`boolean` | ExigenceFacultatif | Valeurs et limites false | Par défaut— |
| Champ`frame_images` | Type`array` | ExigenceFacultatif | Valeurs et limites Nombre minimal d’éléments: 1 Nombre maximal d’éléments: 1 Contenu en entrée: Tableau d’objets représentant les images de la séquence. Chaque objet comporte type=image\_url, image\_url contenant url et frame\_type. Utilisez une URL d’image HTTPS et définissez frame\_type sur first\_frame. Chaque rôle d’image apparaît au plus une fois. Clés exactes: type, image\_url, frame\_type Conditions: Ces clés décrivent chaque objet représentant une image de la séquence ; image\_url contient uniquement url. Omettez frame\_images pour une requête contenant uniquement du texte. | Par défaut— |
| Champ`input_references` | Type`array` | ExigenceFacultatif | Valeurs et limites | Par défaut— |
| Champ`size` | Type`string` | ExigenceFacultatif | Valeurs et limites 1280x720, 720x1280 Motif: ^\[1-9\]\[0-9\]\*x\[1-9\]\[0-9\]\*$ | Par défaut— |
| Champ`seed` | Type`integer` | ExigenceFacultatif | Valeurs et limites Minimum: -9 223 372 036 854 775 808 Maximum: 9 223 372 036 854 775 807 | Par défaut— |
| Champ`callback_url` | Type`string` | ExigenceFacultatif | Valeurs et limites Motif: ^https:// | Par défaut— |
| Champ`session_id` | Type`string` | ExigenceFacultatif | Valeurs et limites | Par défaut— |
| Champ`trace` | Type`object` | ExigenceFacultatif | Valeurs et limites | Par défaut— |
| Champ`user` | Type`string` | ExigenceFacultatif | Valeurs et limites | Par défaut— |

Combinaisons d’éléments d’entrée

**Texte vers vidéo** · Une consigne écrite. · Obligatoire : model, prompt, duration

`Fournissez prompt sous forme de texte et duration en secondes entières. Choisissez une résolution prise en charge ; ajoutez un rapport largeur/hauteur ou utilisez une taille répertoriée.`

`model`: Type : string · runway/gen-4.5

`prompt`: Type : string · Nombre maximal d’octets UTF-8: 10 000 · Caractères autres que des espaces requis: Oui

**Image vers vidéo** · Une consigne écrite et une image de début de séquence. · Obligatoire : model, prompt, duration, frame\_images

`frame_images est un tableau. Chaque objet représentant une image de la séquence comporte type, image_url et frame_type ; image_url contient url. Définissez type sur image_url. Utilisez first_frame. Chaque rôle d’image apparaît au plus une fois. Fournissez une URL d’image HTTPS publique pour chaque image de la séquence. Choisissez une résolution prise en charge ; ajoutez un rapport largeur/hauteur ou utilisez une taille répertoriée.`

Clés exactes : type, image\_url, frame\_type

`model`: Type : string · runway/gen-4.5

`prompt`: Type : string · Nombre maximal d’octets UTF-8: 10 000 · Caractères autres que des espaces requis: Oui

Paramètres et cycle de vie de la méthode

| Paramètre | Contrat |
| --- | --- |
| Paramètre`content_type` | Contratapplication/json |
| Paramètre`required` | Contratmodel, prompt, duration |
| Paramètre`material_types` | Contrattext, image |
| Paramètre`additional_properties` | Contratfalse |
| Paramètre`optional_controls` | Contratresolution, aspect\_ratio, generate\_audio, frame\_images, input\_references, size, seed, callback\_url, session\_id, trace, user |

Cycle de vie : `submit_once_poll_original`

`GET /v1/videos/{public_id}`

`GET /v1/videos/{public_id}/content`

### 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 | Unité de facturation | Conditions de facturation | Coût |
| --- | --- | --- | --- | --- | --- |
| ConfigurationTarifs de base des jetons | Barème tarifaireTarif de base | Quantité prévisionnelle— | Unité de facturation— | Conditions de facturation— | 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 |
| ConfigurationTarif vidéo | Barème tarifaire— | Quantité prévisionnelle— | Unité de facturationpar seconde de vidéo | Conditions de facturationCette clé de tarification ne déclare aucune condition supplémentaire. | Coût Sortie · Tarif vidéo · Estimation à des fins de comparaison uniquement **$0.24** par seconde de vidéo |
| ConfigurationCoût estimé de la génération | Barème tarifaire— | Quantité prévisionnelleEstimation pour une génération | Unité de facturation— | Conditions de facturation— | Coût Sortie · Coût estimé de génération · Estimation à des fins de comparaison uniquement **$0.48** 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 →](https://ailoot.ai/docs/fr-be/billing/reserve/)

#### Détails du tarif de référence

Les barèmes de référence du modèle ne modifient ni la sélection de méthode, ni les devis, ni les coûts. Les frais actifs utilisent les tarifs de la méthode Ailoot sélectionnée.

Références tarifaires des configurations vidéo

#### Prix par configuration

| Configuration | Conditions de facturation | Coût |
| --- | --- | --- |
| ConfigurationTarif vidéo | Conditions de facturationCette clé de tarification ne déclare aucune condition supplémentaire. | Coût Sortie · Tarif vidéo **$0.24** par seconde de vidéo Tarif publié de référence pour la configuration affichée. Les frais définitifs correspondent à la configuration réellement facturée. |

### Exemples de requêtes

#### Ailoot Ultra · Vidéo

curl · créer une vidéo

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
from pathlib import Path
Path('request.json').write_text('{"aspect_ratio":"16:9","duration":8,"model":"runway/gen-4.5","prompt":"A serene mountain landscape at sunset","resolution":"720p"}', encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('result.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT
```

### Recevoir et enregistrer les résultats

#### Ailoot Ultra · Vidéo

URL de contenu signées dont vous êtes propriétaire

- `GET /v1/videos/{public_id}`
- `GET /v1/videos/{public_id}/content`

##### Vérifier l’état de la tâche

GET état de l’opération d’origine

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_STATUS_URL'
import json
from pathlib import Path
from urllib.parse import quote
r=json.loads(Path('result.json').read_text())
if not isinstance(r.get('id'),str) or not r['id']:raise SystemExit('Keep the original response and headers for reconciliation; no returned ID')
Path('status-url.txt').write_text('https://api.ailoot.ai/v1/videos/'+quote(r['id'],safe=''))
PY_STATUS_URL
curl --fail-with-body --silent --show-error "$(cat status-url.txt)" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -D status-headers.txt -o status.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('status.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT
```

Autres lectures de contenu

Enregistrer chaque sortie terminée dont vous êtes propriétaire

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_ASSETS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path('status.json').read_text())
if r.get('status')!='completed':raise SystemExit('Keep the original ID and read its status; never recreate an unknown job')
if not isinstance(r.get('data'),list) or not r['data']:raise SystemExit('Keep the complete original status; no completed outputs supplied')
urls=[]
for i,u in enumerate(r.get('data',[])):
    if not isinstance(u,str):raise SystemExit('Keep the original response; unexpected asset shape')
    urls.append((str(i),u))
for label,path in urls:
    u=urljoin('https://api.ailoot.ai',path);z=urlsplit(u)
    if z.scheme!='https' or z.netloc!='api.ailoot.ai' or z.username or z.password:raise SystemExit('Use the actual returned Ailoot owned content URL')
    target=Path('owned-'+label+'.bin')
    subprocess.run(['curl','--fail-with-body','--silent','--show-error',u,'-H','Authorization: Bearer '+os.environ['AILOOT_API_KEY'],'-D',str(target)+'.headers','-o',str(target)],check=True)
print('All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.')
PY_ASSETS
```

##### 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.

Conservez chaque résultat réel dont vous êtes propriétaire ainsi que les métadonnées mesurées renvoyées avec celui-ci.

##### Si la réponse d’origine doit être vérifiée

503 result\_pending\_check + originalid + X-Should-Retry:false ; ne rejouez jamais la requête d’origine

Champs de la réponse

| Champ | Type | Signification |
| --- | --- | --- |
| Champ`index` | Typeinteger | SignificationPosition de cette vidéo dans la liste des résultats, avec une numérotation commençant à zéro. |
| Champ`content_url` | Typestring | SignificationURL de téléchargement HTTPS signée pour cette vidéo terminée. |
| Champ`sha256` | Typestring \| null | SignificationEmpreinte SHA-256 des octets vidéo d’origine ; null si elle est indisponible. |
| Champ`size_bytes` | Typeinteger \| null | SignificationTaille du fichier vidéo d’origine en octets ; null si elle est indisponible. |
| Champ`duration_ms` | Typeinteger \| null | SignificationDurée mesurée de la vidéo en millisecondes ; null si elle est indisponible. |
| Champ`width` | Typeinteger \| null | SignificationLargeur de la vidéo en pixels ; null si elle est indisponible. |
| Champ`height` | Typeinteger \| null | SignificationHauteur de la vidéo en pixels ; null si elle est indisponible. |
| Champ`video_codec` | Typestring \| null | SignificationIdentifiant du codec vidéo ; null s’il n’a pas été enregistré. |
| Champ`has_audio` | Typeboolean \| null | SignificationIndique si la vidéo contient une piste audio ; null si cela n’a pas été mesuré. |
| Champ`audio_codec` | Typestring \| null | SignificationIdentifiant du codec audio ; null lorsqu’aucun identifiant n’a été enregistré. |

Erreurs et étapes suivantes

| Réponse | Condition | Étape suivante |
| --- | --- | --- |
| Réponse404 · `not_found_error` | ConditionL’accès à la vidéo est indisponible, ou cet ID vidéo est introuvable. | Étape suivanteVérifiez l’accès à la vidéo. Pour une vidéo existante, utilisez son ID public d’origine et la même clé API. |
| Réponse401 · `authentication_error` | ConditionLa clé API ne correspond pas au compte authentifié. | Étape suivanteVérifiez votre clé API et l’accès au compte avant de soumettre la requête. |
| Réponse400 · `invalid_request_error` | ConditionLa requête n’a pas pu être lue, ou l’index de téléchargement est invalide. | Étape suivanteCorrigez le corps de la requête. Pour un téléchargement, choisissez un index de sortie renvoyé par la tâche d’origine. |
| Réponse422 · `price_unavailable` | ConditionLa configuration vidéo sélectionnée ne peut pas être tarifée. | Étape suivanteChoisissez une configuration vidéo prise en charge et renseignez ses options obligatoires avant de soumettre une requête corrigée. |
| Réponse422 · `invalid_request_error` | ConditionUne entrée vidéo ou la tâche de continuation d’origine est invalide. | Étape suivanteUtilisez des entrées HTTPS valides. Pour une continuation, utilisez l’ID vidéo public de votre résultat d’origine terminé avec la même clé API. |
| Réponse402 · `billing_error` | ConditionLe solde disponible ou les limites ne permettent pas de réserver le montant nécessaire. | Étape suivanteVérifiez votre solde disponible et vos limites avant d’envoyer une nouvelle requête. |
| Réponse503 · `server_error` | ConditionLa vérification vidéo, le stockage ou l’accès au service est temporairement indisponible. | Étape suivanteAttendez que le service soit disponible. Si vous disposez déjà d’un ID vidéo, vérifiez cette tâche d’origine au lieu de créer une autre génération. |
| Réponse503 · `result_pending_check` | ConditionLe résultat vidéo d’origine et sa facturation doivent être vérifiés. | Étape suivanteConservez l’ID vidéo renvoyé et vérifiez cette tâche. N’envoyez pas de requête de génération de remplacement pendant sa vérification. |
| Réponse503 · `owned_result_unavailable` | ConditionLe téléchargement de la vidéo existante est temporairement indisponible. | Étape suivanteVérifiez la même tâche vidéo plus tard et téléchargez son résultat existant. Une nouvelle génération crée une opération distincte. |
| Réponse409 · `video_not_ready` | ConditionLe contenu vidéo n’a pas été publié. | Étape suivanteVérifiez l’état de la tâche d’origine. Téléchargez lorsqu’il indique completed ; s’il indique failed, suivez son avis de vérification de facturation. |

### Alias

#### Alias du modèle

**Ailoot Ultra** [`runway/gen-4.5`](https://ailoot.ai/models/fr-be/#m=runway%2Fgen-4.5&route=Ultra&caller=runway%2Fgen-4.5&fmt=videos)

#### Alias des chemins de méthode

Utilisez les chemins de méthode indiqués ci-dessus.

#### ID d’appel associés

[`runway/gen-4.5`](https://ailoot.ai/models/fr-be/#m=runway%2Fgen-4.5&route=Ultra&caller=runway%2Fgen-4.5&fmt=videos)

FAQ · Runway: Gen-4.5

Quelles entrées et quels résultats sont disponibles ?

`POST /v1/videos` · `runway/gen-4.5`: `text`, `image` → `video`

Quels champs la requête utilise-t-elle ?

`POST /v1/videos` · `runway/gen-4.5`: `model`, `prompt`, `duration`, `resolution`, `aspect_ratio`, `generate_audio`, `frame_images`, `input_references`, `size`, `seed`, `callback_url`, `session_id`, `trace`, `user`

Quelles limites s’appliquent ?

`POST /v1/videos` · `runway/gen-4.5`: `duration.minimum`: `1`; `duration.maximum`: `600`; `frame_images.max_items`: `1`; `frame_images.min_items`: `1`; `seed.minimum`: `-9223372036854775808`; `seed.maximum`: `9223372036854775807`

Connectez Ailoot à Claude Code, OpenCode, Hermes ou à votre application.

## L’entreprise et son portefeuille de projets

L’entreprise et son portefeuille de projets : des millions de clients ; des ventes qui se chiffrent en milliards chaque mois.

## Achetez des tokens à prix réduit.

Une remise d’abonnement pour le travail régulier. Des codes promo jusqu’à 50% sur l’achat de tokens.

Abonnement

Choisissez une offre à tarif réduit pour vos requêtes régulières.

Code promo jusqu’à 50%

Saisissez le code à l’achat. Le prix est recalculé selon la promotion en cours.

Dépenses dans l’historique

Modèle, tokens et montant sont enregistrés pour chaque requête.

[Choisir un abonnement](https://ailoot.ai/docs/fr-be/billing/subscriptions/) · [Voir les prix des modèles](https://ailoot.ai/models/fr-be/)

## Connectez l’API au produit que vous vendez.

SaaS, applications et bots selon l’offre officielle et le contrat de licence Ailoot. Pour la revente, demandez une licence revendeur.

Application commerciale

Intégrez la génération de texte, d’images, de vidéo et de son aux fonctions payantes de votre service.

Licence revendeur

Envoyez la description du projet et le mode d’accès. Demandez des conditions écrites d’utilisation et de revente.

Documents sur le site

L’offre officielle, le contrat de licence et la politique de traitement des données sont accessibles avant connexion.

[Demander une licence revendeur](mailto:support@ailoot.ai) · [Offre officielle et contrat de licence](https://ailoot.ai/legal/offer?lang=fr-be)

## Ailoot · L’entreprise et son portefeuille de projets





Ailoot s’appuie sur une expérience opérationnelle éprouvée, une large clientèle, un service stable et un suivi continu des KPI.





L’entreprise et son portefeuille de projets : des millions de clients ; des ventes qui se chiffrent en milliards chaque mois.





Ailoot met cette expérience opérationnelle au service de l’accès API aux fonctions d’IA dans les produits des clients, leurs agents, applications et automatisations.
