modeller

OpenAI: GPT Image 1 Mini

Markdown · JSON

OpenAI: GPT Image 1 Mini

GPT Image 1 Mini skaber og redigerer billeder ud fra tekst og visuelle referencer inden for GPT Image 1-familien. Modellen understøtter standardstørrelser for output, masker og almindelige billedformater med lav inputfidelitet frem for muligheden for høj fidelitet i GPT Image 1.

Om modellen

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

GPT Image 1 Mini er OpenAIs navngivne Mini-variant af GPT Image 1-familien. Den modtager tekst og billeder og producerer billedoutput gennem leverandørens arbejdsgange til generering og redigering. Brug den til almindelige kreative opgavebeskrivelser, visuelle koncepter og ændringer af et leveret billede, hvor Mini-udgavens dokumenterede kontroller passer til opgaven. Brug Minis standardbilledstørrelser og lave inputfidelitet, når du forbereder opgaven.

Til et nyt billede skal du beskrive motiv, scene, lys, komposition og stil. Til en redigering skal du angive den ønskede ændring og de kildeelementer, der skal forblive genkendelige. En enkel illustrationsopgave kan bede om en budcykel ved siden af en døråbning, store rene former og en afdæmpet palet; en opfølgning kan ændre baggrunden og bevare den valgte komposition. De dokumenterede direkte arbejdsgange accepterer op til 32.000 tegn i prompten og fra ét til ti outputbilleder, som kan give alternativer til gennemgang.

Redigering kan bruge op til seksten inputbilleder. Forklar, hvilket billede der leverer hovedmotivet, omgivelserne eller den visuelle udformning, frem for at lade disse roller være uklare. GPT Image 1 Mini understøtter kun low for input_fidelity. Indstillingen high, som findes i GPT Image 1, er ikke en mulighed for Mini. Inputfidelitet er adskilt fra kvaliteten af det genererede output: valg af output i høj kvalitet aktiverer ikke en anden tilstand til bevaring af kilden. Hold kravene til bevaring tydelige, og undersøg de relevante kildedetaljer i det resulterende billede.

En maske kan styre en ønsket ændring mod et valgt område. Kilden og masken skal have samme format og dimensioner, og masken kræver en alfakanal; vejledningen til billedgenerering angiver et krav om under 50 MB. Med flere kildebilleder gælder masken for det første. En afgrænset opgavebeskrivelse kan ændre farven på én genstand og bevare scenens overordnede billedudsnit. Masken er promptbaseret vejledning frem for en garanteret geometrisk grænse, så kontroller også det tilstødende område sammen med den ønskede ændring.

Standardbilledstørrelserne er 1024 × 1024, 1536 × 1024 og 1024 × 1536 pixels med automatisk valg, hvor det understøttes. Valgene for gengivelseskvalitet er low, medium, high og auto. De er adskilt fra Minis inputfidelitet, som kun understøtter low. De brugerdefinerede dimensioner med høj opløsning og niveauerne xhigh eller max fra senere GPT Image-udgaver indgår ikke i denne Mini-profil. Vælg en billedstørrelse, der passer til placeringen, og et kvalitetsniveau, der egner sig til et udkast eller et færdigt billede.

Leverandøren understøtter PNG-, JPEG- og WebP-output med PNG som standard. JPEG og WebP kan bruge komprimering fra 0 til 100. Gennemsigtige, uigennemsigtige og automatiske baggrunde opfylder forskellige layoutkrav; vælg PNG eller WebP, når der er behov for en alfakanal. En gennemsigtig genstand kan placeres i en separat komposition, mens en uigennemsigtig scene indeholder sin egen baggrund. Gem den valgte outputfil frem for at behandle den kodede leveringsrepræsentation som det endelige designresultat.

Leverandørens billedreference dokumenterer streaming med op til tre delvise billeder før afslutning. En forhåndsvisning kan gøre fremskridtet synligt, men kun det endelige billede skal gemmes som det færdige resultat. Ved en serie redigeringer skal du levere det valgte billede igen med den næste konkrete instruktion. Producentens grænseflade understøtter også batchbehandling.

Gennemgå billedets tekst, layoutfølsomme detaljer og kildegenstandens udseende mod opgavebeskrivelsen. GPT Image kan stadig have problemer med præcis tekstplacering, strukturerede kompositioner og ensartede tilbagevendende motiver på tværs af genereringer. Brug det valgte resultat til en mere afgrænset redigering, når en synlig detalje skal ændres, og hold både ændringen og kravene til bevaring tydelige. Et nyttigt Mini-resultat er et komplet billede til en defineret kreativ opgave, forberedt med de standardstørrelser og fidelitetskontroller, som netop denne udgave tilbyder.

Ailoot Ultra · Billeder POST /v1/images/generations openai/gpt-image-1-mini

openai/gpt-image-1-mini

OpenAI /openai/gpt-image-1-mini
Model-ID
  • openai/gpt-image-1-mini
  • gpt-image-1-mini

Start

GPT Image 1 Mini skaber og redigerer billeder ud fra tekst og visuelle referencer inden for GPT Image 1-familien. Modellen understøtter standardstørrelser for output, masker og almindelige billedformater med lav inputfidelitet frem for muligheden for høj fidelitet i GPT Image 1.

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
FeltTypeKravVærdier og grænserStandard
FeltmodelTypestringKravPåkrævetVærdier og grænser
openai/gpt-image-1-mini
Standard—
FeltpromptTypestringKravPåkrævetVærdier og grænser
Minimumslængde: 1
Standard—
Feltaspect_ratioTypestringKravValgfritVærdier og grænser
1:1, 3:2, 2:3, auto
Standard—
FeltqualityTypestringKravValgfritVærdier og grænser
auto, low, medium, high
Standard—
FeltbackgroundTypestringKravValgfritVærdier og grænser
auto, transparent, opaque
Standard—
FeltnTypeintegerKravValgfritVærdier og grænser
Minimum: 1
Maksimum: 10
Standard—
Feltinput_referencesTypearrayKravValgfritVærdier og grænser
Minimumsantal elementer: 0
Maksimalt antal elementer: 16
Standard—
Feltoutput_compressionTypeintegerKravValgfritVærdier og grænser
Minimum: 0
Maksimum: 100
Standard—
FeltproviderTypeobjectKravValgfritVærdier og grænserStandard—
Metodeparametre og livscyklus
ParameterKontrakt
Parametercontent_typeKontraktapplication/json
ParameterrequiredKontraktmodel, prompt
Parametermaterial_typesKontrakttext, 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.

KonfigurationTakstplanForventet mængdeBeløb
KonfigurationGrundpriser for tokensTakstplanGrundtakstForventet mængde—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
KonfigurationAnslået genereringsomkostningTakstplan—Forventet mængdeestimat for én genereringBeløb
Output · Anslået genereringsomkostning · Estimat kun til sammenligning $0.065536 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 →

Eksempelanmodninger

Ailoot Ultra · Billeder

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': 'openai/gpt-image-1-mini', '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
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
FeltType
FeltcreatedType
Feltdata[].urlType
Feltdata[].b64_jsonType
FeltusageType

Aliaser

Modelaliaser

Ailoot Ultra openai/gpt-image-1-mini, gpt-image-1-mini

Aliaser for metodestier

/v1/images

Relaterede kalder-ID’er

openai/gpt-image-1-mini, gpt-image-1-mini

Ailoot Ultra · Billeder POST /v1/images/generations gpt-image-1-mini

gpt-image-1-mini

OpenAI /gpt-image-1-mini
Model-ID
  • openai/gpt-image-1-mini
  • gpt-image-1-mini

Start

GPT Image 1 Mini skaber og redigerer billeder ud fra tekst og visuelle referencer inden for GPT Image 1-familien. Modellen understøtter standardstørrelser for output, masker og almindelige billedformater med lav inputfidelitet frem for muligheden for høj fidelitet i GPT Image 1.

Accepterede input
Tekst
Resultater
Billeder

Tilgængelig i Ailoot · input og metoder

Ailoot Ultra · Billeder POST /v1/images/generations
Inputtyper
text
Outputtyper
image
FeltTypeKravVærdier og grænserStandard
FeltmodelTypestringKravPåkrævetVærdier og grænser
gpt-image-1-mini
Standard—
FeltpromptTypestringKravPåkrævetVærdier og grænser
Maksimal længde: 32.000
Standard—
FeltsizeTypestringKravValgfritVærdier og grænser
1024x1024, 1536x1024, 1024x1536, auto
Standardauto
FeltbackgroundTypestringKravValgfritVærdier og grænser
transparent, opaque, auto
Standardauto
FeltmoderationTypestringKravValgfritVærdier og grænser
low, auto
Betingelser: Brug auto til standardmoderation af indhold.
Standard—
FeltnTypeintegerKravValgfritVærdier og grænser
Minimum: 1
Maksimum: 10
Standard1
FeltqualityTypestringKravValgfritVærdier og grænser
auto, high, medium, low
Standardauto
Feltoutput_compressionTypeintegerKravValgfritVærdier og grænser
Minimum: 0
Maksimum: 100
Betingelser: Gælder for JPEG- og WebP-output; send den dokumenterede heltalsværdi.
Standard100
Feltoutput_formatTypestringKravValgfritVærdier og grænser
webp, png, jpeg
Standardpng
FeltstreamTypebooleanKravValgfritVærdier og grænser
false
Betingelser: Denne rute returnerer ét færdigt JSON-svar.
Standardfalse
Metodeparametre og livscyklus
ParameterKontrakt
Parametercontent_typeKontraktapplication/json
ParameterrequiredKontraktprompt, model
Parametermaterial_typesKontrakttext
ParameteroptionalKontraktsize, background, moderation, n, quality, output_compression, output_format, stream
ParameterconditionsKontraktEn gennemsigtig baggrund kræver PNG eller WebP., Outputkomprimering gælder for JPEG eller WebP., Den valgte metode genererer ud fra tekst. De redigerings- og streamingparametre, der er beskrevet for producenten, er separate funktioner.

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.

KonfigurationTakstplanForventet mængdeBeløb
KonfigurationGrundpriser for tokensTakstplanGrundtakstForventet mængde—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
KonfigurationAnslået genereringsomkostningTakstplan—Forventet mængdeestimat for én genereringBeløb
Output · Anslået genereringsomkostning · Estimat kun til sammenligning $0.065536 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 →

Eksempelanmodninger

Ailoot Ultra · Billeder

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={'prompt': 'A cute baby sea otter', 'model': 'gpt-image-1-mini', 'size': '1024x1024', 'n': 1, 'background': 'auto', 'moderation': 'auto', 'output_format': 'png'}

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
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
FeltType
FeltcreatedType
Feltdata[].urlType
Feltdata[].b64_jsonType
FeltusageType

Aliaser

Modelaliaser

Ailoot Ultra openai/gpt-image-1-mini, gpt-image-1-mini

Aliaser for metodestier

/v1/images

Relaterede kalder-ID’er

openai/gpt-image-1-mini, gpt-image-1-mini

FAQ · OpenAI: GPT Image 1 Mini
Hvilke input og resultater er tilgængelige?

POST /v1/images/generations · openai/gpt-image-1-mini: text, image → image

POST /v1/images/generations · gpt-image-1-mini: text → image

Hvilke felter bruger anmodningen?

POST /v1/images/generations · openai/gpt-image-1-mini: model, prompt, aspect_ratio, quality, background, n, input_references, output_compression, provider

POST /v1/images/generations · gpt-image-1-mini: model, prompt, size, background, moderation, n, quality, output_compression, output_format, stream

Hvilke grænser gælder?

POST /v1/images/generations · openai/gpt-image-1-mini: n.minimum: 1; n.maximum: 10; output_compression.minimum: 0; output_compression.maximum: 100

POST /v1/images/generations · gpt-image-1-mini: prompt.maximum_length: 32000; n.minimum: 1; n.maximum: 10; output_compression.minimum: 0; output_compression.maximum: 100

Flere oplysninger

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 · Se modelpriser

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 · Tilbudsvilkår og licensaftale