Source: https://ailoot.ai/models/da/recraft-recraft-v3/
Canonical: https://ailoot.ai/models/da/recraft-recraft-v3/
Language: da

# Recraft: Recraft V3

[Markdown](https://ailoot.ai/models/da/recraft-recraft-v3/index.md) · [JSON](https://ailoot.ai/models/da/recraft-recraft-v3/facts.json)

## [Recraft: Recraft V3](https://ailoot.ai/models/da/recraft-recraft-v3/)

Recraft V3 skaber fotografier, illustrationer og grafiske layouts med tekstbevidst komposition og stilkontroller. Dens særskilte raster- og SVG-varianter egner sig til plakater, billedsæt med brandidentitet, ikoner og designs, hvor ordlyd og visuel struktur skal fungere sammen.

- [**Ailoot Ultra · Billeder** `POST /v1/images/generations` `recraft/recraft-v3`](https://ailoot.ai/models/da/recraft-recraft-v3/#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.

Recraft V3 er en billedgenereringsmodel bygget til grafisk design såvel som fotografiske og illustrerede scener. En skrevet beskrivelse angiver motiv, miljø og komposition; resultatet er et billede. V3 videreudvikler Recrafts tekstgengivelse og fotorealisme og bevarer samtidig stilkonsistens fra eksempelbilleder uden ny træning.

#### Tekst som en del af kompositionen

V3 arbejder med tekst inde i billedet, herunder længere tekst og mellemstore bogstaver. Recraft beskriver et layouttrin, der fastlægger ord og deres positioner før billedgenerering. Layoutet kan dannes automatisk fra beskrivelsen eller arrangeres manuelt i Recrafts designmiljø. Dette hjælper med at forbinde en overskrift, en illustration og uddybende tekst i én komposition. Producenten dokumenterer også udtrykkelige tekstlayoutkoordinater angivet relativt til billedet frem for som et fast pixelgitter. Hvert tekstelement indeholder ét ord og fire hjørnepunkter i normaliserede koordinater: (0, 0) er øverste venstre hjørne og (1, 1) nederste højre. Koordinater kan gå ud over dette interval, og i så fald beskæres formen. Ord i udtrykkelige tekstlayouts skal følge de dokumenterede tegnbegrænsninger.

Til en plakat eller et omslag skal du medsende den præcise ordlyd og beskrive hierarkiet: hvilken linje der fører, hvor den står, og hvordan billedet understøtter den. Kontrollér den gengivne stavning og afstand, når du vælger et resultat.

#### Stil, palet og kunstnerisk retning

V3 omfatter kuraterede fotografiske stilarter, illustrations- og emblemstilarter samt et separat bibliotek af vektorstilarter. Recraft V3 Raw er rastermodellens standardstil; Vector art er standard for vektorvarianten. Photorealism sigter mod et fotografisk udseende, mens Illustration rummer stiliserede teksturer, skygger og mere komplekse farveovergange. Vektorstilarter foretrækker former, begrænsede paletter og flade udfyldninger eller enkle farveovergange.

Brugerdefinerede stilarter kan bygges fra referencebilleder, eksisterende kompatible stilarter eller en kombination. De giver en genanvendelig visuel retning på tværs af en billedserie. De dokumenterede blandingskontroller lader referencer og kildestilarter bære separate vægte; antallet af vægte svarer til kilderne. PaletteMatch og MaxWeight er de to angivne blandingspolitikker. Producenten tillader op til 10 stilreferencebilleder og bruger den almindelige stilmatchningstilstand til V3. En gemt brugerdefineret stil og direkte stilreferencer er alternative input, og en brugerdefineret stil skal passe til modellen, der bruges til generering.

Foretrukne farver og en baggrundsfarve styrer paletten. Op til 10 RGB-farver er dokumenteret med hver komponent fra 0 til 255. Valgfrie relative vægte spænder fra 0 til 1; de skal angives for hver farve eller for ingen, og deres sum må ikke overstige 1. Kunstnerisk niveau spænder fra 0 for en statisk, ren behandling til 5 for mere dynamiske, excentriske kompositioner. En negativ prompt beskriver uønskede elementer; en separat kontrol til ingen tekst deaktiverer indlejrede tekstlayouts. Et tilfældigt seed er tilgængeligt til reproducerbarhed. Disse kontroller giver forskellige greb om scenen, dens stil og dens visuelle layout.

#### Rasterbilleder og en separat SVG-variant

Recraft dokumenterer to V3-varianter. Rastermodellen producerer tabsfri WebP eller PNG og er egnet til fotografiske detaljer, skygger og tekstureret illustration. Recraft V3 Vector producerer SVG: kurver og former, der kan skaleres uden en fast pixelopløsning. Den egner sig til piktogrammer, logokoncepter, mærker og detaljeret vektorgrafik. Konvertering fra raster til vektor er en separat operation i forhold til at generere vektorgrafik direkte.

Begge varianter har deres egen identitet. Et billede med vektorlignende udseende og et faktisk SVG-output er forskellige valg. Vælg det ønskede output, når du forbereder en designarbejdsgang, frem for at behandle det fælles V3-navn som bevis for, at enhver operation returnerer samme filtype.

#### Redigering og færdiggørelse af eksisterende billedmateriale

Recrafts V3-dokumentation angiver billede-til-billede-generering, inpainting, outpainting og udskiftning eller generering af baggrund. Billede-til-billede-arbejde kombinerer et eksisterende billede med en ny beskrivelse. Inpainting genererer det valgte område igen ved hjælp af et billede og en matchende maske; outpainting tilføjer indhold uden for den oprindelige ramme. Baggrundsoperationer retter sig mod et motivs omgivelser.

Det tilhørende værktøjssæt omfatter også sletning, baggrundsfjernelse, vektorisering og to opskaleringsmetoder. Kreativ opskalering kan indføre nye detaljer; skarp opskalering sigter mod en skarpere, større gengivelse af eksisterende indhold. Dette er særskilte operationer med deres egne input og resultater frem for yderligere betydninger af raster- eller vektormodellens navn.

#### Grænser for prompt, størrelse og kildebilleder

Producentens V3-genereringsspecifikation accepterer en prompt på op til 1000 tegn og 1–6 billeder pr. anmodning. Den understøtter 14 billedformater: 1:1, 2:1, 1:2, 3:2, 2:3, 4:3, 3:4, 5:4, 4:5, 6:10, 14:10, 10:14, 16:9 og 9:16. Dokumenterede rastereksempler omfatter 1024x1024, 1820x1024 og 1024x1820. Præcise rasterdimensioner skal vælges fra den understøttede liste; SVG bruger billedformater uden en fast pixelstørrelse. Når størrelse udelades, vælger producentens system den ud fra prompten.

Til operationer med billedinput angiver producenten PNG, JPG og WebP samt SVG, hvor den pågældende operation tillader det. Filer skal være under 20 MB, højst 16 MP og have en længste side på højst 4096 pixels. Den korteste side er mindst 256 pixels med en undtagelse på 32 pixels ved skarp opskalering. Masker matcher billedstørrelsen og bruger ren sort og hvid; stilreferencer har en samlet grænse på 64 MB.

Til et Ailoot API-projekt skal du omsætte opgaven til en fokuseret billedbeskrivelse: den præcise tekst, genstandenes opstilling, visuel stil og ønsket komposition. En plakat, en produktscene og en ikonserie kræver forskellige beskrivelser; bevar de relevante skel mellem V3-varianter og operationer, når du beslutter, hvordan hvert resultat skal bruges.

**Ailoot Ultra · Billeder** `POST /v1/images/generations` `recraft/recraft-v3`

[`recraft/recraft-v3`](https://ailoot.ai/models/da/#m=recraft%2Frecraft-v3&route=Ultra&caller=recraft%2Frecraft-v3&fmt=images)

Recraft /`recraft/recraft-v3`

### Start

Recraft V3 skaber fotografier, illustrationer og grafiske layouts med tekstbevidst komposition og stilkontroller. Dens særskilte raster- og SVG-varianter egner sig til plakater, billedsæt med brandidentitet, ikoner og designs, hvor ordlyd og visuel struktur skal fungere sammen.

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`

Outputformat

Billedfil

| Felt | Type | Krav | Værdier og grænser | Standard |
| --- | --- | --- | --- | --- |
| Felt`model` | Type`string` | KravPåkrævet | Værdier og grænser recraft/recraft-v3 | Standard— |
| Felt`prompt` | Type`string` | KravPåkrævet | Værdier og grænser Minimumslængde: 1 | Standard— |
| Felt`n` | Type`integer` | KravValgfrit | Værdier og grænser Minimum: 1 Maksimum: 6 | Standard— |
| Felt`aspect_ratio` | Type`string` | KravValgfrit | Værdier og grænser 1:1, 4:3, 3:4, 16:9, 9:16, auto | Standard— |
| Felt`input_references` | Type`array` | KravValgfrit | Værdier og grænser Minimumsantal elementer: 0 Maksimalt antal elementer: 1 | Standard— |

Kombinationer af inputmaterialer

**Tekst til billede** · Påkrævet: prompt

Metodeparametre og livscyklus

| Parameter | Kontrakt |
| --- | --- |
| Parameter`content_type` | Kontraktapplication/json |
| Parameter`required` | Kontraktmodel, prompt |
| Parameter`material_types` | Kontrakttext, image |
| Parameter`optional_controls` | Kontraktaspect\_ratio, n, input\_references |
| Parameter`exact_supported_parameters` | Kontrakt{"aspect\_ratio":{"type":"enum","values":\["1:1","4:3","3:4","16:9","9:16","auto"\]},"n":{"type":"range","min":1,"max":6},"input\_references":{"type":"range","min":0,"max":1}} |
| Parameter`reference_material_rule` | KontraktKun faktiske billedreferencer fra kunden; de er underlagt betingelserne for udbyderens endpoint. |

Metodealiaser: `/v1/images`

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}`

Brug den præcise model og de dokumenterede inputfelter.

Behold hele svaret, hvert faktisk output og de oprindeligt returnerede ID’er.

### 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 |
| KonfigurationUltra | Takstplan— | Forventet mængde— | Afregningsenhedpr. outputbillede | Beløb Output · billedoutput · Estimat kun til sammenligning **$0.08** pr. outputbillede |
| KonfigurationAnslået genereringsomkostning | Takstplan— | Forventet mængdeestimat for én generering | Afregningsenhed— | Beløb Output · Anslået genereringsomkostning · Estimat kun til sammenligning **$0.08** 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/)

#### Detaljer om referencetariffen

Referenceplaner på modelniveau ændrer ikke metodevalg, prisoverslag eller opkrævninger. Ved den aktive afregning anvendes taksterne for den valgte Ailoot-metode.

Priskonfigurationer for billeder

#### Priser efter konfiguration

| Konfiguration | Afregningsbetingelser | Beløb |
| --- | --- | --- |
| KonfigurationOutputbillede | AfregningsbetingelserDer er ikke angivet nogen prisvariant. | Beløb Output · Outputbillede **$0.08** pr. billede Tilsvarende prisangivelser beskriver samme opkrævning; de tilføjer ikke et ekstra gebyr. |

### Eksempelanmodninger

#### Ailoot Ultra · Billeder

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={'model': 'recraft/recraft-v3', '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
```

```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': 'recraft/recraft-v3', 'prompt': 'a red panda astronaut floating in space, studio lighting'}
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": "recraft/recraft-v3", "prompt": "a red panda astronaut floating in space, studio lighting"};
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");
```

### 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}`

##### Behold alle færdige resultater

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

Behold hvert dataelement og hele forbruget; overtag og gem alle faktisk returnerede billeder. Ingen opdigtede URL’er eller ID’er.

##### Hvis det oprindelige svar skal kontrolleres

Hvis resultatet af en billedgenerering eller -redigering skal kontrolleres, skal du gemme det oprindelige operation\_id/X-Client-Request-ID og de returnerede resultatoplysninger. Hent eksisterende resultater, som du ejer, via mediebiblioteket med de faktiske task\_id- eller asset\_id-værdier. Send ikke anmodningen om generering/redigering igen, og opbyg ikke en polling-URL ud fra operation\_id.

Svarfelter

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

### Aliaser

#### Modelaliaser

**Ailoot Ultra** [`recraft/recraft-v3`](https://ailoot.ai/models/da/#m=recraft%2Frecraft-v3&route=Ultra&caller=recraft%2Frecraft-v3&fmt=images)

#### Aliaser for metodestier

`/v1/images`

#### Relaterede kalder-ID’er

[`recraft/recraft-v3`](https://ailoot.ai/models/da/#m=recraft%2Frecraft-v3&route=Ultra&caller=recraft%2Frecraft-v3&fmt=images)

FAQ · Recraft: Recraft V3

Hvilke input og resultater er tilgængelige?

`POST /v1/images/generations` · `recraft/recraft-v3`: `text`, `image` → `image`

Hvilke felter bruger anmodningen?

`POST /v1/images/generations` · `recraft/recraft-v3`: `model`, `prompt`, `n`, `aspect_ratio`, `input_references`

Hvilke grænser gælder?

`POST /v1/images/generations` · `recraft/recraft-v3`: `n.minimum`: `1`; `n.maximum`: `6`

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.
