models

Sourceful: Riverflow V2.5 Pro

Markdown · JSON

Sourceful: Riverflow V2.5 Pro

Riverflow 2.5 Pro est le profil de génération et de retouche d’images de Sourceful axé sur la qualité pour les créations de produit et de campagne. Sa famille combine retouche en plusieurs étapes, évaluation personnalisée et contrôle des polices, aidant un brief détaillé à préserver l’identité de marque et la mise en page prévue.

À 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.5 Pro est le profil Pro de la famille Riverflow 2.5 de Sourceful, dédiée à la génération et à la retouche d’images et destinée aux travaux créatifs où le contrôle et la qualité de l’image finale comptent. Un brief textuel peut créer un visuel, tandis que les images de référence fournissent le produit, l’illustration ou la scène à modifier. La démarche distinctive de cette famille consiste à planifier plusieurs étapes de retouche, examiner les propositions et les corriger pour parvenir au résultat demandé, plutôt qu’à considérer la première image comme l’intégralité du workflow.

Pour une image de campagne, préparez les références du produit et la direction de marque avant de décrire la scène. Précisez les caractéristiques qui distinguent un SKU d’un autre, la disposition, l’éclairage et l’espace nécessaire au texte. Un brief utile peut placer trois produits identifiés dans une composition cohérente tout en conservant leurs couleurs, tailles et identités visibles distinctes. Pour une scène de vie avec un seul produit, indiquez quelle référence fournit l’objet et laquelle apporte l’ambiance ou le décor, puis précisez ce qui doit être préservé pendant la transformation.

Riverflow 2.5 ajoute une grille d’évaluation personnalisée à son processus de raisonnement et de vérification. Décrivez les critères qui comptent pour le livrable : identité du produit, lisibilité de l’étiquette, composition, vraisemblance de la scène ou espace disponible pour un titre. Après les étapes de retouche, le modèle de raisonnement peut évaluer les propositions selon cette grille et décider de la suite. Un résultat destiné à l’emballage et un visuel de campagne expressif nécessitent des priorités d’évaluation différentes ; séparez donc la consigne de génération des critères employés pour la juger.

L’effort de réflexion règle la quantité de travail itératif et la rigueur de la vérification que la famille applique avant d’accepter une image. Le workflow du producteur pour la version 2.5 va de low à xhigh : un effort réduit accompagne l’exploration initiale, tandis qu’un effort accru est utile lorsque le brief nécessite davantage d’affinage. Une vérification interne plus poussée ne dispense pas d’inspecter le visuel terminé. Pour une composition produit exigeante, explicitez les détails importants et les critères d’acceptation afin de donner un objectif clair au travail de retouche supplémentaire.

Font Control accepte jusqu’à deux fichiers de polices personnalisées et utilise les lettres, l’espacement et la graisse fournis comme indications. Donnez les mots exacts à afficher, le rôle de chaque bloc de texte et la référence de police correspondante. Un titre et une courte légende d’accompagnement peuvent employer des polices différentes sans laisser la hiérarchie typographique implicite. Inspectez les lettres et chiffres réels dans le résultat, en particulier lorsqu’une étiquette d’emballage ou un nom de produit identifie l’article, plutôt que de traiter une référence de police comme la preuve que chaque glyphe est correct.

La famille 2.5 propose des modes de sortie avec fond normal, de couleur unie et transparent, notamment du PNG transparent pour le compositing, avec des options d’export en 1K, 2K et jusqu’à 4K. Choisissez le livrable selon son emplacement : un détourage à intégrer dans une autre composition, un fond uni contrôlé pour des séries de produits cohérentes ou une scène achevée pour une campagne. Préparez ensemble le format de sortie et le placement du texte afin qu’un niveau de détail accru à la livraison ne tente pas de compenser une composition qui place le sujet principal au mauvais endroit.

Pro reste distinct du profil Fast et de la génération Riverflow 2.0 antérieure. La famille 2.5 s’appuie sur les fondations à plusieurs étapes de la version 2.0 en ajoutant un contrôle plus approfondi de la vérification, une évaluation personnalisée et davantage de choix de fond et d’export. Une vérification finale utile compare l’image aux références produit, à la grille d’évaluation et à la typographie, puis modifie la consigne ou le critère précis responsable d’un écart. Conservez l’image sélectionnée avec son brief et ses références afin que la retouche suivante puisse affiner la même direction créative sans perdre son identité établie.

Ailoot Ultra · Génération d’images POST /v1/images/generations sourceful/riverflow-v2.5-pro

sourceful/riverflow-v2.5-pro

Sourceful /sourceful/riverflow-v2.5-pro

Premiers pas

Riverflow 2.5 Pro est le profil de génération et de retouche d’images de Sourceful axé sur la qualité pour les créations de produit et de campagne. Sa famille combine retouche en plusieurs étapes, évaluation personnalisée et contrôle des polices, aidant un brief détaillé à préserver l’identité de marque et la mise en page prévue.

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
ChampTypeExigenceValeurs et limitesPar défaut
ChampmodelTypestringExigenceObligatoireValeurs et limites
sourceful/riverflow-v2.5-pro
Par défaut—
ChamppromptTypestringExigenceObligatoireValeurs et limites
Longueur minimale: 1
Par défaut—
ChampresolutionTypestringExigenceFacultatifValeurs et limites
1K, 2K, 4K
Par défaut—
Champaspect_ratioTypestringExigenceFacultatifValeurs et limites
1:1, 4:3, 3:4, 3:2, 2:3, 16:9, 9:16, 21:9, auto
Par défaut—
Champoutput_formatTypestringExigenceFacultatifValeurs et limites
png, jpeg, webp
Par défaut—
ChampbackgroundTypestringExigenceFacultatifValeurs et limites
auto, transparent, opaque
Par défaut—
ChampnTypeintegerExigenceFacultatifValeurs et limites
Minimum: 1
Maximum: 1
Par défaut—
Champinput_referencesTypearrayExigenceFacultatifValeurs et limites
Nombre minimal d’éléments: 0
Nombre maximal d’éléments: 10
Par défaut—
ChampproviderTypeobjectExigenceFacultatifValeurs et limitesPar défaut—
Paramètres et cycle de vie de la méthode
ParamètreContrat
Paramètrecontent_typeContratapplication/json
ParamètrerequiredContratmodel, prompt
Paramètrematerial_typesContrattext, 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.

ConfigurationBarème tarifaireQuantité prévisionnelleUnité de facturationCoût
ConfigurationTarifs de base des jetonsBarème tarifaireTarif de baseQuantité prévisionnelle—Unité 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
Configurationimage en sortieBarème tarifaire—Quantité prévisionnelle—Unité de facturationpar image en sortieCoût
Sortie · image en sortie · Estimation à des fins de comparaison uniquement $0.26 par image en sortie
ConfigurationCoût estimé de la générationBarème tarifaire—Quantité prévisionnelleEstimation pour une générationUnité de facturation—Coût
Sortie · Coût estimé de génération · Estimation à des fins de comparaison uniquement $0.26 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

curl
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.5-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}/content
  • GET /v1/media/assets
  • GET /v1/media/assets/{asset_id}
Autres lectures de contenu
Lire les ressources existantes dont vous êtes propriétaire
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
ChampType
ChampcreatedType
Champdata[].urlType
Champdata[].b64_jsonType
ChampusageType

Alias

Alias du modèle

Ailoot Ultra sourceful/riverflow-v2.5-pro

Alias des chemins de méthode

/v1/images

ID d’appel associés

sourceful/riverflow-v2.5-pro

FAQ · Sourceful: Riverflow V2.5 Pro
Quelles entrées et quels résultats sont disponibles ?

POST /v1/images/generations · sourceful/riverflow-v2.5-pro: text, image → image

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

POST /v1/images/generations · sourceful/riverflow-v2.5-pro: model, prompt, resolution, aspect_ratio, output_format, background, n, input_references, provider

Quelles limites s’appliquent ?

POST /v1/images/generations · sourceful/riverflow-v2.5-pro: n.minimum: 1; n.maximum: 1

Plus de détails

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 · Voir les prix des modèles

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 · Offre officielle et contrat de licence