Sourceful: Riverflow V2 Pro
Riverflow 2.0 Pro est le profil Pro de génération et de montage d’images de Sourceful pour les créations sensibles à l’identité de marque. Sa famille vérifie et corrige les candidats, prend en charge le guidage des polices et fournit la réparation de détails fondée sur des références pour les étiquettes de produits et les illustrations.
À 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.
Riverflow 2.0 Pro est le profil Pro de la famille de génération et de montage d’images Riverflow 2.0 de Sourceful pour les créations de produits, d’emballages et de marketing. Il combine la création ou le montage d’images à un modèle de raisonnement qui vérifie les candidats et apporte des corrections. Ses préoccupations déterminantes sont l’exécution fiable d’un brief visuel, la typographie et la préservation des détails de produits qui rendent une ressource utile à une marque.
Pour une composition sensible à la qualité, fournissez l’image du produit ou l’illustration, les mots exacts et l’agencement visuel prévu. Une scène utile peut placer un pot étiqueté près de ses ingrédients tout en préservant la forme du contenant et la hiérarchie de l’étiquette. Décrivez l’éclairage, l’arrière-plan et le recadrage, puis précisez les détails de produit à garder inchangés. Le résultat est une image créative rendue; décider de son intégration à une campagne plus large ou à une mise en page modifiable est une étape d’application distincte.
Le processus 2.0 évalue automatiquement les candidats et corrige les problèmes en plusieurs étapes. Donnez à ce processus une cible claire en séparant le contenu requis des choix de style facultatifs. Pour un montage, nommez l’élément à changer et les caractéristiques environnantes à conserver. Une mise à jour de couleur de produit ne doit pas devenir silencieusement un nouveau design d’étiquette, et un remplacement d’arrière-plan doit garder l’objet fourni reconnaissable. L’image terminée doit tout de même être comparée au brief et aux références sources.
Le contrôle des polices utilise des polices publiques ou personnalisées fournies pour guider la typographie de marque. Riverflow 2.0 prend en charge jusqu’à deux polices à la fois et jusqu’à 300 caractères par image dans son processus de contrôle des polices. Fournissez le texte exact, la hiérarchie et la graisse ou l’espacement voulus au lieu d’attendre du modèle qu’il choisisse les mots. Inspectez les glyphes importants, les chiffres, les ligatures et les petits textes complémentaires dans la ressource obtenue. Garder le texte concis laisse aussi de l’espace au produit et à l’explication visuelle.
Le processus de super-résolution fondé sur des références de la famille répare les petits textes ou illustrations qu’une scène à plus faible résolution ne contient pas avec exactitude. Fournissez des illustrations sources de haute qualité pour que l’étape de réparation des détails ait la véritable étiquette ou le véritable design à reproduire. La publication 2.0 décrit jusqu’à quatre instances de remplacement par requête, permettant des corrections sur un produit ou plusieurs produits dans une scène. Il s’agit d’un processus de réparation fondé sur des références autour de l’image générée, plutôt que d’une garantie que chaque image initiale possède des microdétails parfaits.
Pour un ensemble de produits liés, gardez le style, l’éclairage et la structure de scène cohérents en fournissant la bonne référence pour chaque article. Une ressource de campagne peut combiner une vue principale du produit à un espace pratique pour le texte approuvé; un gros plan de produit peut donner priorité à l’étiquette et aux détails de matière. Choisissez la préparation des sources et de la sortie pour la taille d’affichage prévue, et préservez l’image sélectionnée avec les références qui établissent son identité. Une correction à l’échelle de la scène et une étape de réparation des détails traitent des parties différentes du résultat.
Pro est distinct du profil Fast et de Riverflow 2.5. La génération ultérieure ajoute des critères de notation personnalisés et des commandes de vérification plus approfondies; ces réglages ultérieurs ne doivent pas être présumés dans ce profil 2.0. Pour une vérification finale utile, comparez la modification demandée, la typographie, l’identité du produit et les détails environnants à la source. Révisez l’instruction ou la référence précise responsable d’un écart tout en conservant la composition qui convient déjà à la tâche.
Ailoot Ultra · Génération d’images POST /v1/images/generations sourceful/riverflow-v2-pro
sourceful/riverflow-v2-proPour commencer
Riverflow 2.0 Pro est le profil Pro de génération et de montage d’images de Sourceful pour les créations sensibles à l’identité de marque. Sa famille vérifie et corrige les candidats, prend en charge le guidage des polices et fournit la réparation de détails fondée sur des références pour les étiquettes de produits et les illustrations.
- Entrées acceptées
- Texte · Images
- Résultats
- Images
Disponible dans Ailoot · entrées et méthodes
Ailoot Ultra · Génération d’images POST /v1/images/generations
- Entrée
text,image- Sortie
image
| Champ | Type | Exigence | Valeurs et limites | Par défaut |
|---|---|---|---|---|
Champmodel | Typestring | ExigenceObligatoire | Valeurs et limites sourceful/riverflow-v2-pro | Par défaut— |
Champprompt | Typestring | ExigenceObligatoire | Valeurs et limites Longueur minimale: 1 | Par défaut— |
Champresolution | Typestring | ExigenceFacultatif | Valeurs et limites 1K, 2K, 4K | Par défaut— |
Champaspect_ratio | Typestring | ExigenceFacultatif | Valeurs et limites 1:1, 4:3, 3:4, 3:2, 2:3, 16:9, 9:16, 21:9, auto | Par défaut— |
Champn | Typeinteger | ExigenceFacultatif | Valeurs et limites Minimum: 1 Maximum: 1 | Par défaut— |
Champinput_references | Typearray | ExigenceFacultatif | Valeurs et limites Nombre minimal d’éléments: 0 Nombre maximal d’éléments: 10 | Par défaut— |
Champprovider | Typeobject | ExigenceFacultatif | Valeurs et limites | Par défaut— |
Paramètres et cycle de vie de la méthode
| Paramètre | Contrat |
|---|---|
Paramètrecontent_type | Contratapplication/json |
Paramètrerequired | Contratmodel, prompt |
Paramètrematerial_types | Contrattext, image |
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}
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 |
| ConfigurationPolice d’entrée | Barème tarifaire— | Quantité prévisionnelle— | Unité de facturationpar image | Coût Entrée · Police d’entrée · Estimation à des fins de comparaison uniquement $0.06 par image |
| ConfigurationRéférence d’entrée | Barème tarifaire— | Quantité prévisionnelle— | Unité de facturationpar image | Coût Entrée · Référence d’entrée · Estimation à des fins de comparaison uniquement $0.4 par image |
| Configurationimage en sortie | 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.3 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.3 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 · Génération d’images
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={'model': 'sourceful/riverflow-v2-pro', 'prompt': 'a red panda astronaut floating in space, studio lighting'}
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
Recevoir et enregistrer les résultats
Ailoot Ultra · Génération d’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}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Autres lectures de contenu
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \
-H "Authorization: Bearer $AILOOT_API_KEY" -o owned-assets.json
# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.
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.
Conservez la réponse complète et les en-têtes, chaque sortie effective, les identifiants initialement renvoyés et tous les champs d’utilisation. Récupérez l’opération d’origine sans soumettre à nouveau sa création.
Si la réponse d’origine doit être vérifiée
Conservez le X-Client-Request-ID renvoyé pour le rapprochement. Consultez uniquement les valeurs task_id/asset_id effectivement renvoyées ou votre bibliothèque multimédia ; ne construisez jamais une URL de tâche à partir de l’identifiant de l’opération et ne soumettez jamais à nouveau la création.
Champs de la réponse
| Champ | Type |
|---|---|
Champcreated | Type |
Champdata[].url | Type |
Champdata[].b64_json | Type |
Champusage | Type |
Alias
Alias du modèle
Ailoot Ultra sourceful/riverflow-v2-pro
Alias des chemins de méthode
/v1/images
ID d’appel associés
FAQ · Sourceful: Riverflow V2 Pro
- Quelles entrées et quels résultats sont disponibles ?
POST /v1/images/generations·sourceful/riverflow-v2-pro:text,image→image- Quels champs la requête utilise-t-elle ?
POST /v1/images/generations·sourceful/riverflow-v2-pro:model,prompt,resolution,aspect_ratio,n,input_references,provider- Quelles limites s’appliquent ?
POST /v1/images/generations·sourceful/riverflow-v2-pro:n.minimum:1;n.maximum:1