Bria
FIBO 2.0
fibo-2.0/image-to-image
Modèle d'image unifié lancé par Bria, qui réalise la génération d'images à partir de texte et l'édition d'images par instructions au sein d'un même modèle, avec la possibilité de saisir jusqu'à quatre images lors de l'édition ; entraîné uniquement sur des données sous licence, il convient à l'art conceptuel, aux images fixes marketing et aux visuels de produits e-commerce
Essayer fibo-2.0/image-to-image
Entrée
Créations
Voir toutes les créationsSortie
imageTarifs
fibo-2.0/image-to-image per image
| Prix unitaire | $0.0572 |
|---|
Présentation
Ce modèle image-vers-image permet de modifier ou de composer une image à partir d'une image à éditer, accompagnée d'au plus trois images de référence et d'instructions en langage naturel. Le prompt peut contenir jusqu'à 10 000 caractères et il est possible de désigner les images d'entrée par leur numéro, par exemple <image_1> ; la sortie fait environ un million de pixels et son rapport largeur-hauteur peut être choisi parmi vingt et un préréglages. Il convient aux designers et développeurs qui doivent ajuster une image selon des instructions précises, fusionner plusieurs sources et contrôler le cadrage, pour des scénarios comme l'itération de concepts ou la création de supports marketing.
Points clés
- Édition et composition multi-images pilotées par instructions — à partir d'une image à éditer, jusqu'à trois images de référence peuvent être ajoutées et citées par leur numéro dans les instructions pour réaliser une retouche locale ou une fusion multi-images.
- Ratios de sortie flexibles — vingt et un préréglages de rapport largeur-hauteur sont proposés ; en entrée multi-images, le ratio de sortie peut être spécifié selon les besoins, tandis que l'édition d'une seule image conserve le ratio de l'original.
- Reproductibilité grâce à la graine — en fournissant une graine aléatoire entre 0 et 2147483647, une même graine et des entrées identiques produisent une sortie identique, ce qui facilite les comparaisons A/B.
- Masque pour délimiter la zone d'édition — une image de masque optionnelle permet de définir la zone à éditer : les zones blanches sont modifiées, les zones noires conservées ; cela ne s'applique qu'à l'édition d'une seule image et le masque doit avoir les mêmes dimensions que l'original.
Capacités
Édition et composition multi-images par instructions : saisir 1 à 4 URL d'images publiques, la première étant l'image à éditer et les trois suivantes au plus des images de référence ; dans les instructions, on peut citer chaque image dans l'ordre via <image_1>, <image_2>, etc., pour réaliser une retouche locale ou une fusion d'éléments entre images.
Modification locale contrainte par masque : lorsqu'une image de masque est fournie, seule l'édition d'une image est autorisée (image_urls ne peut contenir qu'une image) ; les zones blanches sont à modifier et les zones noires conservées ; le masque doit avoir les mêmes dimensions que l'original, ce qui convient au remplacement local précis.
Ratio de sortie spécifiable : en entrée multi-images, il est possible de choisir l'un des ratios suivants pour la sortie : 1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 16:10, 10:16, 2:1, 1:2, 21:9, 9:21, 3:1, 1:3, 4:1, 1:4, 5:1, 1:5 ; l'édition d'une seule image conserve toujours le ratio de l'original.
Capacité d'instructions suffisante : le prompt peut contenir jusqu'à 10 000 caractères, ce qui permet de décrire en détail les exigences de retouche et de citer plusieurs sources d'entrée par leur numéro d'image, pour exprimer des instructions complexes.
Reproductibilité du résultat par graine : le paramètre seed fixe la graine aléatoire ; une même graine et des entrées identiques reproduisent le même résultat, ce qui facilite la comparaison de paramètres ou le retour à une version précédente sur une même tâche d'édition.
Cas d'usage
- Retouche ciblée de concept par un designer — saisir une image de conception et ajouter des instructions de modification en précisant les zones ou attributs à ajuster ; l'image modifiée sert à l'itération du projet et à la présentation en revue.
- Composition multi-images pour l'e-commerce — utiliser une photo produit comme image principale, avec jusqu'à trois images de référence de décor ou de style, et fusionner par instructions pour générer une scène de vie destinée à une fiche produit ou à un support publicitaire.
- Adaptation des ratios pour les supports marketing — en entrée multi-images, spécifier un ratio de sortie comme 1:1, 16:9 ou 9:16 pour générer rapidement des visuels fixes adaptés à différents emplacements, en réduisant les recadrages ultérieurs.
- Remplacement local précis par masque — fournir un masque pour une seule image afin de ne modifier que la zone marquée en blanc et de conserver le reste de l'image ; cela convient au remplacement d'une partie d'un produit ou à la suppression d'éléments indésirables.
Limites et conseils de choix
Chaque requête accepte au plus 4 images en entrée ; l'édition d'une image avec masque ne prend en charge qu'une seule image, et le masque doit avoir les mêmes dimensions que l'original. Le prompt est limité à 10 000 caractères ; au-delà, la soumission est impossible. Le ratio de sortie ne peut être choisi que parmi les 21 ratios prédéfinis ; l'édition d'une seule image conserve obligatoirement le ratio de l'original, sans possibilité de le spécifier autrement. La graine garantit uniquement la reproductibilité pour des entrées identiques, sans promettre l'identité des résultats entre différentes combinaisons de paramètres.
Nouveautés
Voir le journal des modifications →- Nouveau modèle FIBO 2.0 Édition d'images disponible
- Nouveau modèle FIBO 2.0 texte-vers-image disponible
Questions fréquentes
Voir toutes les questions →-
Comment fixer la composition pour reproduire exactement la même image ?
Pour reproduire exactement le même résultat, il suffit de fixer le seed et de conserver le prompt inchangé. Par défaut, le seed est 5555, avec une plage de valeurs allant de 0 à 2147483647 ; tant que le seed et le prompt restent identiques, la sortie est identique. En changeant le seed, on obtient une composition différente pour un même sujet.
-
Quels rapports largeur-hauteur sont disponibles ? Quelle est la résolution ?
Choisissez un rapport largeur-hauteur parmi les préréglages selon la composition ; la sortie fait environ 1 mégapixel. Les valeurs disponibles incluent 1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 16:10, 10:16, 2:1, 1:2, 21:9, 9:21, ainsi que des formats allongés tels que 3:1, 1:3, 4:1, 1:4, 5:1, 1:5 ; si aucun n'est fourni, la valeur par défaut est 1:1.
-
Peut-on utiliser ensemble une image de référence et un préréglage de style en génération d'image à partir de texte ?
Ils ne peuvent pas être utilisés en même temps, il faut choisir l'un ou l'autre. En génération d'image à partir de texte, si vous passez style, vous ne pouvez plus passer image_url, et inversement ; si vous voulez une image de référence pour définir la scène, renoncez aux préréglages de style, et si vous voulez un rendu argentique, un flash direct, un effet brumeux ou un réalisme cru, utilisez uniquement le prompt textuel. L'édition d'image à partir d'image n'a pas de paramètre de préréglage de style ; la tonalité visuelle s'écrit directement dans instruction.
-
Quels préréglages de style photographique sont disponibles pour la génération d'images à partir de texte ?
La génération d'images à partir de texte prend en charge quatre rendus photographiques : Kodak Film, Hard Flash, Hazy Dreamy et Rough Realism. Ils ne servent que d'option de tonalité photographique globale et sont mutuellement exclusifs avec les images de référence ; lorsque vous avez besoin d'un contrôle précis de l'éclairage et du point de vue, il faut toujours le préciser dans le prompt plutôt que de se fier uniquement aux préréglages. L'édition d'image à partir d'image ne propose pas de préréglages de style.
Créer une tâche de génération
https://api.hiapi.ai/v1/tasks En-têtes
AuthorizationstringRequisClé API du compte. Requise sur chaque requête. Exemple : Bearer YOUR_HIAPI_API_KEY. Obtenir une clé API
Content-TypestringOptionnelLe corps de la requête est toujours analysé en JSON ; s'il est envoyé, seul application/json (charset facultatif) est accepté — toute autre valeur renvoie 415. Exemple : application/json.
Idempotency-KeystringOptionnelClé d'idempotence, jusqu'à 255 octets. Les reprises avec la même clé du même compte ne créent la tâche qu'une seule fois ; les rejeux renvoient le taskId d'origine.
En cas de timeout réseau ou de relance automatique du client, la même clé ne crée la tâche qu'une seule fois, sans double facturation (portée = le compte de la clé API). Utilisez un identifiant métier unique (ex. "order-42") ; les rejeux renvoient le taskId d'origine et les clés expirent 24 h après la première requête. La matrice complète des scénarios est dans la présentation de l'API asynchrone unifiée.
Corps
modelstringRequisValeur fixe actuelle : fibo-2.0/image-to-image
routestringOptionnelValeur fixe actuelle : default
inputobjectRequis
Objet de paramètres métier pour fibo-2.0/image-to-image et la route default — voir le tableau des paramètres ci-dessous.
seedintegerOptionnelDéfaut: 5555min 0max 2147483647Graine aléatoire, valeur par défaut 5555. Une même graine avec les mêmes entrées permet de reproduire des résultats identiques.
mask_urlstringOptionnelminLength 1pattern ^https?://URL facultative de l'image de masque, prise en charge uniquement pour l'édition d'une seule image, c'est-à-dire que image_urls doit contenir exactement 1 image ; les zones blanches sont les parties à éditer, les zones noires restent inchangées, et les dimensions du masque doivent correspondre à celles de l'image.
image_urlsarrayRequisminItems 1maxItems 4Tableau d'URL d'images, contenant de 1 à 4 adresses d'images publiques : la première est l'image à éditer, les 3 suivantes au maximum sont des images de référence ; dans l'instruction, elles peuvent être référencées dans cet ordre via <image_1>, <image_2>, etc.
Array [ string ]
instructionstringRequisminLength 1maxLength 10000Instruction textuelle décrivant les modifications à apporter à l'image.
aspect_ratiostringOptionnelRapport d'aspect de sortie, environ un million de pixels ; s'il est omis, celui de la première image est repris, et l'édition d'une seule image conserve toujours le rapport d'aspect de cette image.
1:12:33:23:44:34:55:49:16Tout afficher (13)Afficher moins
16:916:1010:162:11:221:99:213:11:34:11:45:11:5callbackobjectOptionnel
Configuration de notification d'état terminal. Sans elle, aucun callback — interrogez la tâche vous-même.
Fournissez callback.url à la création et HiAPI envoie un POST à votre service à l'état terminal — plus besoin de polling. Le corps du rappel reprend la structure du détail de tâche ; vérification de signature, relances et idempotence sont décrits dans la présentation de l'API asynchrone unifiée.
urlstringRequisObligatoire si callback est présent. Un POST est envoyé vers cette URL à l'état terminal ; doit être une URL http(s) valide.
whenstringOptionnelDéfaut: "final"Seul final est pris en charge pour l'instant — notifié sur success et fail.
finalstoragestringOptionnelDéfaut: "temp"Niveau de stockage des artefacts : temp (par défaut, ~7 jours) ou persistent (long terme, facturé au volume). Solde insuffisant ou dépassement de limite ⇒ rétrogradation silencieuse en temp ; le niveau effectif figure dans la réponse de détail.
temppersistentExemples de requête
# Soumet une tâche asynchrone ; renvoie immédiatement un taskId (n'attend pas la génération)
curl -X POST "https://api.hiapi.ai/v1/tasks" \
-H "Authorization: Bearer $HIAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "fibo-2.0/image-to-image",
"input": {
"seed": 5555,
"image_urls": "…",
"instruction": "…"
}
}' const res = await fetch("https://api.hiapi.ai/v1/tasks", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.HIAPI_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "fibo-2.0/image-to-image",
input: {
"seed": 5555,
"image_urls": "…",
"instruction": "…"
}
}),
});
const task = await res.json();
// { code: 200, message: "success", data: { taskId } } import os, requests
res = requests.post(
"https://api.hiapi.ai/v1/tasks",
headers={"Authorization": f"Bearer {os.environ['HIAPI_API_KEY']}"},
json={
"model": "fibo-2.0/image-to-image",
"input": {
"seed": 5555,
"image_urls": "…",
"instruction": "…"
}
},
)
print(res.json()) # { code, message, data: { taskId } } 200 OK
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR"
}
} 400 Bad Request
{
"code": 400,
"message": "invalid request",
"data": null,
"error_code": "INVALID_REQUEST"
} Obtenir le détail de la tâche
https://api.hiapi.ai/v1/tasks/:id Champs de réponse
taskIdstringRequisIdentifiant de tâche, toujours préfixé tk-hiapi-.
modelstringRequisNom complet résolu du modèle. Les tâches envoyées avec le paramètre route renvoient base@route (ex. gpt-image-2/text-to-image@ext) ; sinon identique au nom fourni.
routestringOptionnelPrésent uniquement si le paramètre route explicite a été utilisé ; renvoie la valeur soumise.
statusstringRequisStatut de la tâche.
queued En file, pas encore démarrée.
handling En cours de traitement.
archiving Traitement terminé, préparation des artefacts.
success Terminal : terminé, artefacts disponibles (output renvoyé).
fail Terminal : échec (error renvoyé).
Après soumission, suivez status : success et fail sont terminaux, le reste non terminal. Interrogez toutes les 1–3 s jusqu'à l'état terminal. En cas de succès, téléchargez les artefacts via output[].url et transférez-les avant expireAt ; pour une conservation longue durée, indiquez storage: "persistent" à la création.
creatednumberRequisDate de création de la tâche (secondes Unix).
completednumberRequisSecondes Unix de l'état terminal ; 0 tant que non terminal.
outputarrayOptionnel
Présent uniquement si status == success. Liste d'artefacts — toujours un tableau ; une tâche peut renvoyer plusieurs types à la fois (ex. video + first_frame).
Array [ object ]
Éléments du tableau
urlstringRequisURL de l'artefact, téléchargeable directement.
typestringRequisValeurs possibles actuelles : video, image, audio, first_frame, last_frame, thumbnail ; d'autres pourront s'ajouter.
expireAtnumberRequisSecondes Unix de disponibilité de l'artefact ; téléchargez ou transférez avant l'expiration.
errorobjectOptionnel
Présent uniquement si status == fail.
codestringRequisCode d'erreur métier.
messagestringRequisDescription de l'erreur.
Exemples de réponse
Succès
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR",
"model": "happyhorse-1-0",
"status": "success",
"created": 1777282033,
"completed": 1777282099,
"output": [
{
"url": "https://cdn.hiapi.ai/tasks/.../video.mp4",
"type": "video",
"expireAt": 1777886899
}
]
}
} En cours (non terminal)
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "archiving",
"created": 1777282033,
"completed": 0
}
} Échec
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "fail",
"created": 1777282033,
"completed": 1777282099,
"error": {
"code": "TASK_FAILED",
"message": "task failed"
}
}
} Articles
Voir tous les articles →Modèles associés
Voir tous les modèles →Même type
-
Imagen 4 Google $0.030 /image -
Wan 2.7 Image Alibaba $0.035 /image -
FLUX 3 Image Klein Black Forest Labs $0.0092 /image -
FLUX.1 Schnell Black Forest Labs $0.005 /image -
FLUX 1.1 Pro Black Forest Labs $0.050 /image -
GPT Image 2 OpenAI $0.007 /image -
Recraft Creative Upscale Recraft $0.357 /image -
FLUX.2 Black Forest Labs $0.035 /image -
Grok Imagine Quality xAI $0.070 /image -
Krea 3 Krea $0.036 /image -
Nano Banana 2 Google $0.018 /image -
Qwen Image 3.0 Alibaba $0.036 /image





