Source: https://ailoot.ai/models/fr-ca/bytedance-seed-seedream-5-0-flash/
Canonical: https://ailoot.ai/models/fr-ca/bytedance-seed-seedream-5-0-flash/
Language: fr-ca

# ByteDance Seed: Seedream 5.0 Flash

[Markdown](https://ailoot.ai/models/fr-ca/bytedance-seed-seedream-5-0-flash/index.md) · [JSON](https://ailoot.ai/models/fr-ca/bytedance-seed-seedream-5-0-flash/facts.json)

## [ByteDance Seed: Seedream 5.0 Flash](https://ailoot.ai/models/fr-ca/bytedance-seed-seedream-5-0-flash/)

Seedream 5.0 Flash crée et monte des images à partir de texte et de références visuelles, avec des modifications guidées spatialement, du texte d’image multilingue et la décomposition en calques. ByteDance Seed positionne Flash pour une génération plus rapide, tout en le gardant distinct de l’édition Pro axée sur la qualité.

- [**Ailoot Ultra · Images** `POST /v1/images/generations` `bytedance-seed/seedream-5-0-flash`](https://ailoot.ai/models/fr-ca/bytedance-seed-seedream-5-0-flash/#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.

Une édition de création d’images plus rapide

Seedream 5.0 Flash est le modèle de génération et de montage d’images de ByteDance Seed pour les processus qui donnent priorité à la vitesse de génération. Le guide Pro/Flash du fabricant décrit la création de texte en image et d’image en image avec une ou plusieurs références. Il distingue la génération plus rapide de Flash de la priorité supérieure à la qualité d’image de Pro, sans établir de temps de réponse fixe pour chaque brief.

Les fonctions partagées déterminantes sont le montage interactif, la décomposition en calques et la génération multilingue native. La génération courante renvoie une image terminée. Le processus Flash du fabricant ne prend pas en charge la génération séquentielle d’images liées, la recherche Web ni la sortie d’images en continu. Son optimisation du prompt utilise le mode standard; la commande d’optimisation rapide distincte appartient à Pro plutôt qu’à Flash.

Créer à partir d’un brief et de références

Précisez l’image voulue, le sujet principal, la composition et le traitement visuel, puis identifiez ce que chaque référence contrôle. Pour un visuel de produit, séparez la référence qui établit l’objet de celle qui fournit une palette ou une matière de surface. « Conservez la silhouette et l’angle de vue de l’objet de la première image; utilisez la deuxième uniquement pour la palette discrète de l’arrière-plan » donne des rôles distincts aux références.

Le fabricant recommande des prompts concis, ne dépassant pas 300 caractères chinois ou 600 mots anglais. Ce sont des conseils de préparation plutôt qu’une limite stricte déclarée d’entrée textuelle. Énumérez les exigences décisives d’abord, y compris les mots exacts à afficher, le ratio voulu et les détails à garder inchangés. Inspectez l’image terminée par rapport à cette liste au lieu de vous fier seulement à son apparence générale.

Montage guidé spatialement

Flash peut utiliser des points, des boîtes englobantes, des flèches et des marques libres pour identifier où un montage doit se faire. Fournissez l’image source avec un emplacement et la modification. Pour un concept d’intérieur, marquez la chaise, demandez un remplacement de tissu et identifiez le plancher, le mur, l’angle de caméra et les objets voisins à préserver. Si les marques servent seulement de guide, demandez explicitement leur retrait de l’image terminée.

Le guide de montage par coordonnées du fabricant utilise les balises \<point\> et \<bbox\> avec des coordonnées normalisées de 0 à 999 par rapport à l’image d’entrée précisée. Un point contient x et y; une boîte contient les coordonnées du coin supérieur gauche et du coin inférieur droit. Identifiez le numéro d’image et l’objet cible, surtout lorsqu’une boîte comprend plusieurs sujets. Pour un montage entre images, distinguez l’objet à prendre d’une référence de la région de destination dans une autre.

Utilisez les dimensions propres de l’image affichée pour obtenir l’emplacement proportionnel; le zoom du canevas, le déplacement de vue ou les coordonnées du navigateur ne sont pas les coordonnées normalisées de l’image. Décrivez les régions protégées ainsi que la région modifiée. Comparez la perspective, l’éclairage et les détails environnants du résultat à la source originale.

Séparer une composition en calques modifiables

La décomposition en calques est un mode distinct qui prend exactement une image et renvoie une image de base plus jusqu’à 16 calques indépendants. Chaque calque est un PNG avec alpha. Un prompt peut nommer les éléments à séparer, comme le titre, le sujet principal et les décorations; sans prompt de décomposition, le modèle identifie automatiquement les éléments principaux.

Les résultats comprennent les noms des calques, les descriptions, l’ordre d’empilement et les boîtes de placement. Utilisez l’image de base avec l’index d’empilement zéro, puis placez les autres calques en ordre croissant d’empilement. Les boîtes absolues décrivent le placement dans l’image de base de sortie; les boîtes normalisées décrivent le placement proportionnel sur un autre canevas. Gardez ces métadonnées de placement renvoyées avec les fichiers d’image pour pouvoir reconstruire la composition originale avant de la réagencer.

Pour une révision d’affiche, séparez l’illustration principale du titre et des décorations, puis inspectez les contours et toute zone d’arrière-plan restaurée. Un calque transparent peut être monté comme une seule entrée à canal alpha avec sortie PNG transparente. L’option d’arrière-plan transparent se limite à ce processus de montage d’image à entrée unique; la génération courante de texte en image est une opération distincte.

Composition multilingue

En plus du chinois et de l’anglais, le fabricant documente la prise en charge native des prompts et du texte d’image en russe, arabe, filipino, thaï, turc, coréen, malais, espagnol, portugais, indonésien, français, allemand, vietnamien et japonais. Fournissez la formulation approuvée exacte et le sens de lecture, et identifiez la région de chaque bloc de texte. Vérifiez les accents, les caractères liés, les sauts de ligne et les petites étiquettes dans l’image finale.

Fichiers de référence et spécifications de sortie

La génération d’images accepte jusqu’à 10 références en JPEG, PNG, WebP, BMP, TIFF, GIF, HEIC ou HEIF. Chacune peut atteindre 30 Mo, avec les deux côtés supérieurs à 14 pixels, de 196 à 36 000 000 pixels au total et un ratio de 1:16 à 16:1. La décomposition en calques exige plutôt un JPEG ou un PNG de 262 144 à 36 000 000 pixels, jusqu’à 30 Mo, dans la même plage de ratios.

La génération propose les paliers de sortie 1K, 1.5K et 2K, avec 2K par défaut, ou des dimensions explicites de 921 600 à 4 624 220 pixels au total et des ratios de 1:16 à 16:1. Les deux contraintes s’appliquent aux dimensions personnalisées. La sortie en calques utilise 1K, 1.5K, 2K ou auto, avec auto par défaut; la base et chaque calque conservent leurs ratios sources respectifs.

Les images terminées sont JPEG ou PNG. Le format de l’image de base peut être choisi séparément, tandis que les calques décomposés restent PNG avec alpha. La livraison peut utiliser des données d’image encodées ou des liens de téléchargement conservés pendant 24 heures. Enregistrez chaque image renvoyée et ses métadonnées pour le processus de design prévu. Inspectez le texte, les détails modifiés et l’alignement des calques à la taille d’utilisation de la création.

**Ailoot Ultra · Images** `POST /v1/images/generations` `bytedance-seed/seedream-5-0-flash`

[`bytedance-seed/seedream-5-0-flash`](https://ailoot.ai/models/fr-ca/#m=bytedance-seed%2Fseedream-5-0-flash&route=Ultra&caller=bytedance-seed%2Fseedream-5-0-flash&fmt=images)

ByteDance Seed /`bytedance-seed/seedream-5-0-flash`

### Pour commencer

Créez une seule image finalisée à partir d’un descriptif écrit.

- Créer une image fixe de produit
- Explorer un concept visuel
- Illustrer une scène

Entrées acceptées

Texte

Résultats

Images

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

**Ailoot Ultra · Images** `POST /v1/images/generations`

Entrée

`text`

Sortie

`image`

Format de sortie

Fichier image

Nombre de sorties

1 sortie

| Champ | Type | Exigence | Valeurs et limites | Par défaut |
| --- | --- | --- | --- | --- |
| Champ`model` | Type`string` | ExigenceObligatoire | Valeurs et limites bytedance-seed/seedream-5-0-flash | Par défaut— |
| Champ`prompt` | Type`string` | ExigenceObligatoire | Valeurs et limites Longueur minimale: 1 Conditions: Invite UTF8 non vide. Aucune limite de caractères applicable à tout le fabricant n’est inventée. | Par défaut— |
| Champ`n` | Type`integer` | ExigenceFacultatif | Valeurs et limites 1 | Par défaut1 |
| Champ`response_format` | Type`string` | ExigenceFacultatif | Valeurs et limites url, b64\_json | Par défaut— |
| Champ`stream` | Type`boolean` | ExigenceFacultatif | Valeurs et limites false | Par défautfalse |

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

**Texte vers image** · Obligatoire : prompt

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

| Paramètre | Contrat |
| --- | --- |
| Paramètre`content_type` | Contratapplication/json |
| Paramètre`required` | Contratmodel, prompt |
| Paramètre`material_types` | Contrattext |
| Paramètre`optional` | Contratn, response\_format, stream |
| Paramètre`n` | Contrat1 |
| Paramètre`stream` | Contratfalse |
| Paramètre`response_format` | Contraturl, b64\_json |
| Paramètre`reference_images` | Contratfalse |
| Paramètre`edit` | Contratfalse |
| Paramètre`output_format_optional` | Contrat |
| Paramètre`resolution_control` | Contratnull |
| Paramètre`aspect_ratio_control` | Contratnull |
| Paramètre`other_fields` | Contratrejeté, sauf pour le routage interne exact du fournisseur tel qu’il est fixé |

Cycle de vie : `synchronous_result_then_owned_library`

`GET /v1/media/tasks/{task_id}` · task\_id effectivement renvoyé ou enregistrement de la bibliothèque multimédia

`GET /v1/media/assets/{asset_id}/content`

`GET /v1/media/assets`

`GET /v1/media/assets/{asset_id}`

Générez une image à partir d’une invite.

Enregistrez chaque élément de data; url/b64\_json sont des encodages de résultat.

### 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 | Coût |
| --- | --- | --- | --- | --- |
| ConfigurationTarifs de base des jetons | Barème tarifaireTarif de base | Quantité prévisionnelle— | Unité de facturation— | 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 |
| Configurationimage d’entrée | Barème tarifaire— | Quantité prévisionnelle— | Unité de facturationpar image en entrée | Coût Entrée · image d’entrée · Estimation à des fins de comparaison uniquement **$0** par image en entrée |
| ConfigurationUltra | Barème tarifaire— | Quantité prévisionnelle— | Unité de facturationpar image en sortie | Coût Sortie · image en sortie · Estimation à des fins de comparaison uniquement **$0.036** par image en sortie |
| ConfigurationCoût de génération estimé | Barème tarifaire— | Quantité prévisionnelleestimation pour une génération | Unité de facturation— | Coût Sortie · Coût estimé de génération · Estimation à des fins de comparaison uniquement **$0.036** 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-ca/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.

Configurations tarifaires des images

#### Prix par configuration

Associez chaque coût aux conditions indiquées. Utilisez un seul tarif pour chaque ensemble de configurations alternatives.

| Configuration | Conditions de facturation | Coût |
| --- | --- | --- |
| ConfigurationImage de sortie | Conditions de facturationAucune variante tarifaire n’est déclarée. | Coût Sortie · Image de sortie **$0.036** par image |
| ConfigurationImage d’entrée | Conditions de facturationAucune variante tarifaire n’est déclarée. | Coût Entrée · Image d’entrée **$0** par image |

Les lignes équivalentes décrivent la même facturation; elles n’ajoutent pas une deuxième facturation.

### Exemples de requêtes

#### Ailoot Ultra · Images

curlPython SDKNode.js SDK

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "bytedance-seed/seedream-5-0-flash", "prompt": "A lighthouse on a cliff, watercolor", "n": 1, "response_format": "b64_json"}')

Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \
  -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 base64, json, os, subprocess
from pathlib import Path
from urllib.parse import urlsplit, urljoin

def save_images(items):
    if not items: raise SystemExit("No completed images; retain the full response")
    for index, item in enumerate(items):
        encoded=item.get("b64_json")
        uri=item.get("url", "")
        if not encoded and uri.startswith("data:image/"):
            header, separator, encoded=uri.partition(",")
            if not separator or ";base64" not in header: raise SystemExit("Unsupported image data URI")
        if encoded:
            raw=base64.b64decode(encoded,validate=True)
        elif uri:
            uri=urljoin("https://api.ailoot.ai",uri)
            parsed=urlsplit(uri)
            if parsed.scheme!="https" or not parsed.netloc or parsed.username or parsed.password:
                raise SystemExit("Invalid returned image URL")
            owned=parsed.netloc=="api.ailoot.ai" and parsed.path.startswith("/v1/media/assets/") and parsed.path.endswith("/content")
            args=["curl","--fail-with-body","--silent","--show-error",uri]
            if owned: args += ["-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"]]
            temporary=Path(f"image-{index}.bin")
            subprocess.run(args+["-o",str(temporary)],check=True)
            raw=temporary.read_bytes()
            temporary.unlink()
        else: raise SystemExit("Image has neither bytes nor URL")
        if not raw: raise SystemExit("Empty image result")
        ext="png" if raw.startswith(b"\x89PNG") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "svg" if raw.lstrip().startswith((b"<svg",b"<?xml")) else "bin"
        Path(f"image-{index}.{ext}").write_bytes(raw)
    print("Every returned image saved; complete response metadata retained")
save_images(json.loads(Path("result.json").read_text())["data"])
PY_RESULT
```

```python
from openai import OpenAI
import base64, json, os, subprocess
from pathlib import Path
from urllib.parse import urlsplit, urljoin

def save_images(items):
    if not items: raise SystemExit("No completed images; retain the full response")
    for index, item in enumerate(items):
        encoded=item.get("b64_json")
        uri=item.get("url", "")
        if not encoded and uri.startswith("data:image/"):
            header, separator, encoded=uri.partition(",")
            if not separator or ";base64" not in header: raise SystemExit("Unsupported image data URI")
        if encoded:
            raw=base64.b64decode(encoded,validate=True)
        elif uri:
            uri=urljoin("https://api.ailoot.ai",uri)
            parsed=urlsplit(uri)
            if parsed.scheme!="https" or not parsed.netloc or parsed.username or parsed.password:
                raise SystemExit("Invalid returned image URL")
            owned=parsed.netloc=="api.ailoot.ai" and parsed.path.startswith("/v1/media/assets/") and parsed.path.endswith("/content")
            args=["curl","--fail-with-body","--silent","--show-error",uri]
            if owned: args += ["-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"]]
            temporary=Path(f"image-{index}.bin")
            subprocess.run(args+["-o",str(temporary)],check=True)
            raw=temporary.read_bytes()
            temporary.unlink()
        else: raise SystemExit("Image has neither bytes nor URL")
        if not raw: raise SystemExit("Empty image result")
        ext="png" if raw.startswith(b"\x89PNG") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "svg" if raw.lstrip().startswith((b"<svg",b"<?xml")) else "bin"
        Path(f"image-{index}.{ext}").write_bytes(raw)
    print("Every returned image saved; complete response metadata retained")

request={'model': 'bytedance-seed/seedream-5-0-flash', 'prompt': 'A lighthouse on a cliff, watercolor', 'n': 1, 'response_format': 'b64_json'}
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.images.generate(**request)
Path("sdk-result.txt").write_text(str(result),encoding="utf-8")
save_images([{"b64_json":getattr(item,"b64_json",None),"url":getattr(item,"url",None)} for item in result.data])
```

```js
import OpenAI from "openai";
import { readFileSync, writeFileSync } from "node:fs";
const key=process.env.AILOOT_API_KEY;
if(!key) throw new Error("Set your actual Ailoot API key");
const client=new OpenAI({baseURL:"https://api.ailoot.ai/v1",apiKey:key,maxRetries:0});
const request={"model": "bytedance-seed/seedream-5-0-flash", "prompt": "A lighthouse on a cliff, watercolor", "n": 1, "response_format": "b64_json"};
const result=await client.images.generate(request);
writeFileSync("sdk-result.json",JSON.stringify(result,null,2));
if(!result.data?.length) throw new Error("No completed images");
for(let index=0;index<result.data.length;index++) {
  const item=result.data[index];let encoded=item.b64_json,uri=item.url||"",raw;
  if(!encoded && uri.startsWith("data:image/")) {
    const comma=uri.indexOf(",");if(comma<0 || !uri.slice(0,comma).includes(";base64")) throw new Error("Unsupported image data URI");
    encoded=uri.slice(comma+1);
  }
  if(encoded) {
    if(encoded.length%4!==0 || !/^[A-Za-z0-9+/]*={0,2}$/.test(encoded)) throw new Error("Invalid Base64");
    raw=Buffer.from(encoded,"base64");
  } else if(uri) {
    const u=new URL(uri,"https://api.ailoot.ai");
    if(u.protocol!=="https:" || u.username || u.password) throw new Error("Invalid returned URL");
    const owned=u.origin==="https://api.ailoot.ai" && u.pathname.startsWith("/v1/media/assets/") && u.pathname.endsWith("/content");
    const response=await fetch(u,{headers:owned?{Authorization:"Bearer "+key}:{},redirect:"manual"});
    if(!response.ok) throw new Error("Image content download failed: "+response.status);
    raw=Buffer.from(await response.arrayBuffer());
  } else throw new Error("Image has neither bytes nor URL");
  if(!raw.length) throw new Error("Empty image result");
  const ext=raw.subarray(0,4).equals(Buffer.from([137,80,78,71]))?"png":raw[0]===255&&raw[1]===216?"jpg":raw.toString("ascii",0,4)==="RIFF"&&raw.toString("ascii",8,12)==="WEBP"?"webp":raw.toString("utf8").trimStart().startsWith("<svg")||raw.toString("utf8").trimStart().startsWith("<?xml")?"svg":"bin";
  writeFileSync(`image-${index}.${ext}`,raw);
}
console.log("Every returned image saved; sdk-result.json retains complete metadata");
```

### Recevoir et enregistrer les résultats

#### Ailoot Ultra · Images

Téléchargez chaque image renvoyée ou enregistrez son contenu Base64

- `GET /v1/media/tasks/{task_id}`
- `GET /v1/media/assets/{asset_id}/content`
- `GET /v1/media/assets`
- `GET /v1/media/assets/{asset_id}`

##### Conserver tous les résultats terminés

Enregistrez chaque image terminée ; récupérez chaque URL renvoyée ou décodez son contenu Base64.

Enregistrez chaque élément de données. Décodez chaque b64\_json ou récupérez chaque URL signée renvoyée. Choisissez l’extension du fichier à partir du type MIME et des octets réels.

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

Si le résultat d’une génération ou d’une retouche d’image nécessite une vérification, conservez l’operation\_id/X-Client-Request-ID d’origine et les informations renvoyées sur le résultat. Récupérez les résultats existants qui vous appartiennent via la bibliothèque multimédia, à l’aide des valeurs task\_id ou asset\_id réelles. Ne soumettez pas à nouveau la requête de génération/retouche et ne construisez pas d’URL d’interrogation du statut à partir d’operation\_id.

Champs de la réponse

| Champ | Type |
| --- | --- |
| Champ`created` | Typeinteger |
| Champ`data[].url` | Typestring |
| Champ`data[].b64_json` | Typebase64 string |
| Champ`usage` | Typeobject |

Erreurs et étapes suivantes

| Réponse | Condition | Étape suivante |
| --- | --- | --- |
| Réponse400 · `invalid_request_error` | ConditionChamps obligatoires, représentation des éléments fournis ou valeur de paramètre invalides | Étape suivanteCorrigez les champs indiqués avant une nouvelle requête de création. |
| Réponse`server_error` | ConditionLa réponse renvoyée indique que l’opération ou le résultat nécessite une vérification | Étape suivanteConservez l’identifiant d’opération/de tâche initialement renvoyé, les en-têtes de la requête et la réponse ; poursuivez les lectures prises en charge de cette opération d’origine. Ne soumettez pas à nouveau la requête de création. |

### Alias

#### Alias du modèle

**Ailoot Ultra** [`bytedance-seed/seedream-5-0-flash`](https://ailoot.ai/models/fr-ca/#m=bytedance-seed%2Fseedream-5-0-flash&route=Ultra&caller=bytedance-seed%2Fseedream-5-0-flash&fmt=images)

#### Alias des chemins de méthode

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

#### ID d’appel associés

[`bytedance-seed/seedream-5-0-flash`](https://ailoot.ai/models/fr-ca/#m=bytedance-seed%2Fseedream-5-0-flash&route=Ultra&caller=bytedance-seed%2Fseedream-5-0-flash&fmt=images)

FAQ · ByteDance Seed: Seedream 5.0 Flash

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

`POST /v1/images/generations` · `bytedance-seed/seedream-5-0-flash`: `text` → `image`

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

`POST /v1/images/generations` · `bytedance-seed/seedream-5-0-flash`: `model`, `prompt`, `n`, `response_format`, `stream`

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-ca/billing/subscriptions/) · [Voir les prix des modèles](https://ailoot.ai/models/fr-ca/)

## 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-ca)

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