Source: https://ailoot.ai/models/da/sourceful-riverflow-v2-pro/
Canonical: https://ailoot.ai/models/da/sourceful-riverflow-v2-pro/
Language: da

# Sourceful: Riverflow V2 Pro

[Markdown](https://ailoot.ai/models/da/sourceful-riverflow-v2-pro/index.md) · [JSON](https://ailoot.ai/models/da/sourceful-riverflow-v2-pro/facts.json)

## [Sourceful: Riverflow V2 Pro](https://ailoot.ai/models/da/sourceful-riverflow-v2-pro/)

Riverflow 2.0 Pro er Sourcefuls Pro-profil til billedgenerering og redigering af brandfølsomt kreativt materiale. Familien gennemgår og retter kandidater, understøtter skrifttypeanvisninger og tilbyder referencebaseret reparation af detaljer i produktetiketter og billedmateriale.

- [**Ailoot Ultra · Billeder** `POST /v1/images/generations` `sourceful/riverflow-v2-pro`](https://ailoot.ai/models/da/sourceful-riverflow-v2-pro/#method-0)

Om modellen

Denne beskrivelse dækker modellens funktioner. Tilgængelige input, output og indstillinger i Ailoot står nedenfor for den valgte metode.

Riverflow 2.0 Pro er Pro-profilen i Sourcefuls Riverflow 2.0-familie til billedgenerering og redigering af produkt-, emballage- og markedsføringsmateriale. Den kombinerer billedskabelse eller redigering med en ræsonnementsmodel, der gennemgår kandidater og foretager rettelser. Dens centrale fokus er pålidelig udførelse af en visuel beskrivelse, typografi og bevarelse af de produktdetaljer, der gør et materiale nyttigt for et brand.

Ved en kvalitetsfølsom komposition skal du medsende produktbilledet eller illustrationen, den præcise ordlyd og den ønskede visuelle opstilling. En nyttig scene kan placere en krukke med etiket ved siden af dens ingredienser og samtidig bevare beholderens form og etikettens hierarki. Beskriv belysning, baggrund og beskæring, og angiv derefter, hvilke produktdetaljer der ikke skal ændres. Resultatet er et gengivet kreativt billede; beslutningen om, hvordan det passer ind i en bredere kampagne eller et redigerbart layout, er et separat anvendelsestrin.

2.0-arbejdsgangen vurderer automatisk kandidater og retter problemer over flere trin. Giv dette forløb et tydeligt mål ved at adskille påkrævet indhold fra valgfrie stilvalg. Ved en redigering skal du navngive elementet, der skal ændres, og de omgivende træk, der skal bevares. En opdatering af produktfarven bør ikke ubemærket blive til et nyt etiketdesign, og udskiftning af en baggrund bør holde den medsendte genstand genkendelig. Det færdige billede kræver stadig sammenligning med beskrivelsen og kildereferencerne.

Skrifttypekontrol bruger offentlige eller medsendte brugerdefinerede skrifttyper til at styre brandtypografien. Riverflow 2.0 understøtter op til to skrifttyper ad gangen og op til 300 tegn pr. billede i sin arbejdsgang med skrifttypekontrol. Angiv den præcise tekst, hierarkiet og den ønskede vægt eller afstand frem for at forvente, at modellen vælger ordlyden. Undersøg vigtige glyffer, tal, ligaturer og lille uddybende tekst i det resulterende materiale. Kortfattet ordlyd levner også plads til produktet og den visuelle forklaring.

Familiens referencebaserede superopløsningsarbejdsgang reparerer lille tekst eller illustration, som en scene i lavere opløsning ikke indeholder korrekt. Medsend kildeillustrationer i høj kvalitet, så trinnet til detaljereparation har den faktiske etiket eller det faktiske design at gengive. 2.0-udgivelsen beskriver op til fire udskiftningsforekomster pr. anmodning, hvilket muliggør rettelser på ét produkt eller flere produkter i en scene. Dette er en referencebaseret reparationsarbejdsgang omkring det genererede billede frem for en garanti for, at hvert oprindeligt billede har perfekte mikrodetaljer.

Ved et relateret produktsæt skal du holde stil, belysning og scenestruktur konsistente og samtidig medsende den korrekte reference til hver genstand. Et kampagnemateriale kan kombinere en hovedvisning af produktet med praktisk plads til godkendt tekst; et nærbillede af produktet kan prioritere etiket- og materialedetaljer. Vælg forberedelse af kilde og output efter den ønskede visningsstørrelse, og gem det valgte billede sammen med de referencer, der fastlægger identiteten. En rettelse på sceneniveau og et detaljereparationstrin retter sig mod forskellige dele af resultatet.

Pro er adskilt fra Fast-profilen og fra Riverflow 2.5. Den senere generation tilføjer brugerdefinerede bedømmelseskriterier og dybere gennemgangskontroller; disse senere indstillinger bør ikke antages at indgå i denne 2.0-profil. Ved en nyttig afsluttende gennemgang skal du kontrollere den ønskede ændring, typografi, produktidentitet og omgivende detaljer op mod kilden. Revidér den specifikke instruktion eller reference, der er ansvarlig for en uoverensstemmelse, og bevar samtidig den komposition, der allerede passer til opgaven.

**Ailoot Ultra · Billeder** `POST /v1/images/generations` `sourceful/riverflow-v2-pro`

[`sourceful/riverflow-v2-pro`](https://ailoot.ai/models/da/#m=sourceful%2Friverflow-v2-pro&route=Ultra&caller=sourceful%2Friverflow-v2-pro&fmt=images)

Sourceful /`sourceful/riverflow-v2-pro`

### Start

Riverflow 2.0 Pro er Sourcefuls Pro-profil til billedgenerering og redigering af brandfølsomt kreativt materiale. Familien gennemgår og retter kandidater, understøtter skrifttypeanvisninger og tilbyder referencebaseret reparation af detaljer i produktetiketter og billedmateriale.

Accepterede input

Tekst · Billeder

Resultater

Billeder

### Tilgængelig i Ailoot · input og metoder

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

Inputtyper

`text`, `image`

Outputtyper

`image`

| Felt | Type | Krav | Værdier og grænser | Standard |
| --- | --- | --- | --- | --- |
| Felt`model` | Type`string` | KravPåkrævet | Værdier og grænser sourceful/riverflow-v2-pro | Standard— |
| Felt`prompt` | Type`string` | KravPåkrævet | Værdier og grænser Minimumslængde: 1 | Standard— |
| Felt`resolution` | Type`string` | KravValgfrit | Værdier og grænser 1K, 2K, 4K | Standard— |
| Felt`aspect_ratio` | Type`string` | KravValgfrit | Værdier og grænser 1:1, 4:3, 3:4, 3:2, 2:3, 16:9, 9:16, 21:9, auto | Standard— |
| Felt`n` | Type`integer` | KravValgfrit | Værdier og grænser Minimum: 1 Maksimum: 1 | Standard— |
| Felt`input_references` | Type`array` | KravValgfrit | Værdier og grænser Minimumsantal elementer: 0 Maksimalt antal elementer: 10 | Standard— |
| Felt`provider` | Type`object` | KravValgfrit | Værdier og grænser | Standard— |

Metodeparametre og livscyklus

| Parameter | Kontrakt |
| --- | --- |
| Parameter`content_type` | Kontraktapplication/json |
| Parameter`required` | Kontraktmodel, prompt |
| Parameter`material_types` | Kontrakttext, image |

Livscyklus: `synchronous_result_then_owned_library`

`GET /v1/media/tasks/{task_id}` · det faktisk returnerede task\_id eller posten i mediebiblioteket

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

`GET /v1/media/assets`

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

### Priser

##### Sådan beregnes det endelige beløb

De viste satser bruges til at anslå omkostningen før genereringen. Det endelige beløb beregnes ud fra den registrerede omkostning for den oprindelige generering. Den målte varighed af outputtet og de anslåede mængder er ikke den endelige fakturerbare mængde.

Tarifoplysninger tilføjer ikke anmodningsmuligheder. Understøttede parametre står ved den valgte metode.

Hurtig tilstand

Ikke angivet Når hurtig tilstand er valgt

flex-tilstand

Ikke angivet Når flex-tilstanden er valgt

Maksimal ræsonneringsindsats

Ikke angivet Når default-justeringen anvendes ved maksimal ræsonneringsindsats

#### Estimerede takster til sammenligning

#### Priser efter konfiguration

Knyt hver omkostning til de viste betingelser. Brug én takst for hver gruppe af alternative konfigurationer.

| Konfiguration | Takstplan | Forventet mængde | Afregningsenhed | Beløb |
| --- | --- | --- | --- | --- |
| KonfigurationGrundpriser for tokens | TakstplanGrundtakst | Forventet mængde— | Afregningsenhed— | Beløb Input · Inputtokens · Estimat kun til sammenligning **—** / 1K tokens Output · Outputtokens · Estimat kun til sammenligning **—** / 1K tokens Input · Cachelæsning · Estimat kun til sammenligning **—** / 1K tokens Input · Cacheskrivning · Estimat kun til sammenligning **—** / 1K tokens Input · Cacheskrivning, 1 time · Estimat kun til sammenligning **—** / 1K tokens |
| KonfigurationSkrifttypeinput | Takstplan— | Forventet mængde— | Afregningsenhedpr. billede | Beløb Input · Skrifttypeinput · Estimat kun til sammenligning **$0.06** pr. billede |
| KonfigurationInputreference | Takstplan— | Forventet mængde— | Afregningsenhedpr. billede | Beløb Input · Inputreference · Estimat kun til sammenligning **$0.4** pr. billede |
| Konfigurationoutputbillede | Takstplan— | Forventet mængde— | Afregningsenhedpr. outputbillede | Beløb Output · outputbillede · Estimat kun til sammenligning **$0.3** pr. outputbillede |
| KonfigurationAnslået genereringsomkostning | Takstplan— | Forventet mængdeestimat for én generering | Afregningsenhed— | Beløb Output · Anslået genereringsomkostning · Estimat kun til sammenligning **$0.3** estimat før generering Dette estimat er hverken et ekstra gebyr eller en fast pris for den færdige generering. |

Ailoot reserverer et estimeret beløb før en anmodning. Efter resultatet afregnes det endelige beløb ud fra det målte forbrug. Ved streaming bruges den endelige forbrugsregistrering til afregningen. [Sådan fungerer reservation og afregning →](https://ailoot.ai/docs/da/billing/reserve/)

### Eksempelanmodninger

#### Ailoot Ultra · Billeder

curl

```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={'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
```

### Hent og gem resultater

#### Ailoot Ultra · Billeder

Hent hvert returneret billede, eller gem dets Base64-indhold

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

Læsning af andet indhold

Hent eksisterende filer, du ejer

```bash
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.
```

##### Behold alle færdige resultater

Gem hvert færdigt billede; hent hver returneret URL eller afkod dets Base64-indhold.

Gem hele svaret og alle headere, alle faktisk returnerede output, de oprindeligt returnerede identifikatorer og alle felter med forbrugsdata. Gendan den oprindelige operation uden at sende oprettelsesanmodningen igen.

##### Hvis det oprindelige svar skal kontrolleres

Gem det returnerede X-Client-Request-ID til afstemning. Brug kun faktisk returnerede task\_id/asset\_id-værdier eller dit eget mediebibliotek til læseanmodninger; opbyg aldrig en opgave-URL ud fra operations-ID’et, og send aldrig oprettelsesanmodningen igen.

Svarfelter

| Felt | Type |
| --- | --- |
| Felt`created` | Type |
| Felt`data[].url` | Type |
| Felt`data[].b64_json` | Type |
| Felt`usage` | Type |

### Aliaser

#### Modelaliaser

**Ailoot Ultra** [`sourceful/riverflow-v2-pro`](https://ailoot.ai/models/da/#m=sourceful%2Friverflow-v2-pro&route=Ultra&caller=sourceful%2Friverflow-v2-pro&fmt=images)

#### Aliaser for metodestier

`/v1/images`

#### Relaterede kalder-ID’er

[`sourceful/riverflow-v2-pro`](https://ailoot.ai/models/da/#m=sourceful%2Friverflow-v2-pro&route=Ultra&caller=sourceful%2Friverflow-v2-pro&fmt=images)

FAQ · Sourceful: Riverflow V2 Pro

Hvilke input og resultater er tilgængelige?

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

Hvilke felter bruger anmodningen?

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

Hvilke grænser gælder?

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

Tilslut Ailoot til Claude Code, OpenCode, Hermes eller din egen applikation.

## Virksomheden og dens projektportefølje

Virksomheden og dens projektportefølje: millioner af kunder; månedligt salg for milliarder.

## Køb tokens med rabat.

Abonnementsrabat til regelmæssigt arbejde. Rabatkoder giver op til 50% på tokenkøb.

Abonnement

Vælg et abonnement med rabat til dine regelmæssige anmodninger.

Rabatkode på op til 50%

Indtast koden ved købet. Prisen genberegnes efter den aktuelle kampagne.

Udgifter i historikken

Model, tokens og beløb gemmes for hver anmodning.

[Vælg abonnement](https://ailoot.ai/docs/da/billing/subscriptions/) · [Se modelpriser](https://ailoot.ai/models/da/)

## Tilslut API’et til produktet, du sælger.

SaaS, apps og bots efter Ailoots tilbudsvilkår og licensaftale. Anmod om en forhandlerlicens til videresalg.

Kommerciel applikation

Byg generering af tekst, billeder, video og lyd ind i tjenestens betalte funktioner.

Licens til forhandlere

Send projektbeskrivelse og adgangsmodel. Bed om skriftlige vilkår for anvendelse og videresalg.

Dokumenter på websitet

Tilbudsvilkår, licensaftale og politik for behandling af data kan læses før tilslutning.

[Anmod om forhandlerlicens](mailto:support@ailoot.ai) · [Tilbudsvilkår og licensaftale](https://ailoot.ai/legal/offer?lang=da)

## Ailoot · Virksomheden og dens projektportefølje





Ailoot bygger på solid driftserfaring, en stor kundebase, stabil service og løbende kontrol af KPI.





Virksomheden og dens projektportefølje: millioner af kunder; månedligt salg for milliarder.





Ailoot bruger denne driftserfaring til API-adgang til AI-funktioner i kundernes produkter, agenter, applikationer og automatiseringer.
