modeller

ByteDance Seed: Seedream 5.0 Flash

Markdown · JSON

ByteDance Seed: Seedream 5.0 Flash

Seedream 5.0 Flash lager og redigerer bilder fra tekst og visuelle referanser, med romlig styrte endringer, flerspråklig tekst i bildet og lagoppdeling. ByteDance Seed posisjonerer Flash for raskere generering og holder den samtidig atskilt fra den kvalitetsorienterte Pro-utgaven.

Om modellen

Denne beskrivelsen dekker modellens funksjoner. Tilgjengelige inndata, utdata og alternativer i Ailoot er oppført nedenfor for den valgte metoden.

En raskere utgave for bildeskaping

Seedream 5.0 Flash er ByteDance Seeds modell for bildegenerering og -redigering i arbeidsflyter som prioriterer genereringshastighet. Produsentens Pro/Flash-veiledning beskriver både tekst-til-bilde og bilde-til-bilde-skaping med én eller flere referanser. Den skiller Flashs raskere generering fra Pros prioritering av høyere bildekvalitet, uten å fastsette en bestemt responstid for enhver beskrivelse.

De definerende felles funksjonene er interaktiv redigering, lagoppdeling og innebygd flerspråklig generering. Vanlig generering returnerer ett ferdig bilde. Produsentens Flash-arbeidsflyt støtter ikke sekvensiell generering av beslektede bilder, nettsøk eller strømming av bildeutdata. Promptoptimaliseringen bruker standardmodus; den separate kontrollen for rask optimalisering tilhører Pro fremfor Flash.

Skaping fra en beskrivelse og referanser

Angi ønsket bilde, hovedmotiv, komposisjon og visuell behandling, og identifiser deretter hva hver referanse styrer. For et produktbilde skiller du referansen som fastsetter objektet, fra en som gir en palett eller et overflatemateriale. «Behold objektets silhuett og synsvinkel fra det første bildet; bruk det andre bildet bare til den dempede bakgrunnspaletten» gir referansene ulike roller.

Produsenten anbefaler konsise prompter, ikke mer enn 300 kinesiske tegn eller 600 engelske ord. Det er klargjøringsveiledning fremfor en oppgitt fast tekstgrense. List de avgjørende kravene først, inkludert nøyaktig ordlyd som skal vises, ønsket sideforhold og detaljer som må forbli uendret. Undersøk det ferdige bildet opp mot listen, fremfor å stole bare på helhetsinntrykket.

Romlig styrt redigering

Flash kan bruke punkter, avgrensningsbokser, piler og frie markeringer til å angi hvor en redigering skal skje. Send inn kildebildet sammen med en plassering og endringen. For et interiørkonsept kan du markere stolen, be om utskifting av stoffet og angi gulvet, veggen, kameravinkelen og objekter i nærheten som skal bevares. Hvis markeringene bare er veiledning, ber du uttrykkelig om at de fjernes fra sluttbildet.

Produsentens veiledning for koordinatredigering bruker taggene <point> og <bbox> med koordinater normalisert til 0–999 relativt til det angitte inngangsbildet. Et punkt inneholder x og y; en boks inneholder koordinatene til øvre venstre og nedre høyre hjørne. Angi bildenummeret og målobjektet, særlig når en boks omfatter flere motiver. For en redigering på tvers av bilder skiller du objektet som skal hentes fra én referanse, fra målområdet i en annen.

Bruk det viste bildets egne dimensjoner når du finner den proporsjonale plasseringen; lerretszoom, panorering eller nettleserkoordinater er ikke de normaliserte bildekoordinatene. Beskriv beskyttede områder i tillegg til det redigerte området. Sammenlign resultatets perspektiv, belysning og omkringliggende detaljer med originalkilden.

Del en komposisjon i redigerbare lag

Lagoppdeling er en egen modus som tar nøyaktig ett bilde og returnerer et grunnbilde pluss opptil 16 uavhengige lag. Hvert lag er en PNG med alfa. En prompt kan navngi elementene som skal skilles ut, som tittel, hovedmotiv og dekorasjoner; uten en oppdelingsprompt identifiserer modellen hovedelementene automatisk.

Resultatene inkluderer lagnavn, beskrivelser, stablingsrekkefølge og plasseringsbokser. Bruk grunnbildet med stablingsindeks null, og plasser deretter de andre lagene i stigende stablingsrekkefølge. Absolutte bokser beskriver plassering i utdatagrunnbildet; normaliserte bokser beskriver proporsjonal plassering på et annet lerret. Behold disse returnerte plasseringsmetadataene sammen med bildefilene, slik at originalkomposisjonen kan rekonstrueres før den omorganiseres.

For en plakatrevisjon skiller du hovedillustrasjonen fra tittelen og dekorasjonene og undersøker deretter kanter og eventuelle gjenopprettede bakgrunnsområder. Et gjennomsiktig lag kan redigeres som ett inngangsbilde med alfakanal og gi gjennomsiktige PNG-utdata. Valget for gjennomsiktig bakgrunn gjelder denne bilderedigeringsarbeidsflyten med ett inngangsbilde; vanlig tekst-til-bilde-generering er en egen operasjon.

Flerspråklig komposisjon

I tillegg til kinesisk og engelsk dokumenterer produsenten innebygd støtte for prompter og tekst i bilder på russisk, arabisk, filippinsk, thai, tyrkisk, koreansk, malayisk, spansk, portugisisk, indonesisk, fransk, tysk, vietnamesisk og japansk. Oppgi den nøyaktige godkjente ordlyden og leseretningen, og identifiser hvilket område som inneholder hver tekstblokk. Vurder aksenter, sammenføyde tegn, linjeskift og små etiketter i sluttbildet.

Referansefiler og utdataspesifikasjoner

Bildegenerering godtar opptil 10 referanser i JPEG, PNG, WebP, BMP, TIFF, GIF, HEIC eller HEIF. Hver kan være opptil 30 MB, med begge sider over 14 piksler, totalt 196–36 000 000 piksler og sideforhold fra 1:16 til 16:1. Lagoppdeling krever i stedet én JPEG eller PNG på 262 144–36 000 000 piksler, opptil 30 MB, innenfor samme intervall for sideforhold.

Generering tilbyr utdatanivåene 1K, 1.5K og 2K, med 2K som standard, eller uttrykkelige dimensjoner med totalt 921 600–4 624 220 piksler og sideforhold fra 1:16 til 16:1. Begge begrensninger gjelder tilpassede dimensjoner. Lagutdata bruker 1K, 1.5K, 2K eller auto, med auto som standard; grunnbildet og hvert lag beholder sine respektive kildesideforhold.

Ferdige bilder er JPEG eller PNG. Formatet til grunnbildet kan velges separat, mens oppdelte lag forblir PNG med alfa. Levering kan bruke kodede bildedata eller nedlastingslenker som beholdes i 24 timer. Lagre hvert returnerte bilde og metadataene for den tiltenkte designarbeidsflyten. Undersøk tekst, redigerte detaljer og lagjustering i den størrelsen illustrasjonen skal brukes.

Ailoot Ultra · Bilder POST /v1/images/generations bytedance-seed/seedream-5-0-flash

bytedance-seed/seedream-5-0-flash

ByteDance Seed /bytedance-seed/seedream-5-0-flash

Start

Lag ett ferdig bilde basert på en tekstlig oppdragsbeskrivelse.

  • Lag et stillbilde av et produkt
  • Utforsk et visuelt konsept
  • Illustrer en scene
Godkjente inndata
Tekst
Resultater
Bilder

Tilgjengelig i Ailoot · inndata & metoder

Ailoot Ultra · Bilder POST /v1/images/generations
Inndatatyper
text
Utdatatyper
image
Utdataformat
Bildefil
Antall utdata
1 utdata
FeltTypeKravVerdier & grenserStandard
FeltmodelTypestringKravPåkrevdVerdier & grenser
bytedance-seed/seedream-5-0-flash
Standard—
FeltpromptTypestringKravPåkrevdVerdier & grenser
Minste lengde: 1
Vilkår: UTF8-ledetekst med innhold. Ingen tegnbegrensning som gjelder hele produsenten, er funnet på.
Standard—
FeltnTypeintegerKravValgfrittVerdier & grenser
1
Standard1
Feltresponse_formatTypestringKravValgfrittVerdier & grenser
url, b64_json
Standard—
FeltstreamTypebooleanKravValgfrittVerdier & grenser
false
Standardfalse
Kombinasjoner av inngående materialer

Tekst til bilde · Påkrevd: prompt

Metodeparametere og livssyklus
ParameterAvtale
Parametercontent_typeAvtaleapplication/json
ParameterrequiredAvtalemodel, prompt
Parametermaterial_typesAvtaletext
ParameteroptionalAvtalen, response_format, stream
ParameternAvtale1
ParameterstreamAvtalefalse
Parameterresponse_formatAvtaleurl, b64_json
Parameterreference_imagesAvtalefalse
ParametereditAvtalefalse
Parameteroutput_format_optionalAvtale
Parameterresolution_controlAvtalenull
Parameteraspect_ratio_controlAvtalenull
Parameterother_fieldsAvtaleAvvises, bortsett fra den eksakte fastsatte interne leverandørrutingen

Livssyklus: synchronous_result_then_owned_library

GET /v1/media/tasks/{task_id} · faktisk returnert task_id eller oppføring i mediebiblioteket

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

GET /v1/media/assets

GET /v1/media/assets/{asset_id}

Generer ett bilde fra ledeteksten.

Lagre hvert dataelement; url/b64_json er kodinger av resultatet.

Priser

Slik beregnes det endelige beløpet

De viste satsene anslår kostnaden før generering. Det endelige beløpet beregnes ut fra kostnaden som er registrert for den opprinnelige genereringen. Målt varighet på utdataene og anslåtte mengder er ikke den endelige fakturerbare mengden.

Tariffopplysninger legger ikke til forespørselsvalg. Støttede parametere står ved den valgte metoden.

Hurtigmodus
Ikke angitt Når hurtigmodus er valgt
Flex-modus
Ikke angitt Når flex-modus er valgt
Maksimal resonneringsinnsats
Ikke angitt Når justeringen «default» brukes for maksimal resonneringsinnsats

Estimerte satser for sammenligning

Priser etter konfigurasjon

Knytt hver kostnad til de viste vilkårene. Bruk én sats for hvert sett med alternative konfigurasjoner.

KonfigurasjonPrisplanForventet mengdeFaktureringsenhetKostnad
KonfigurasjonGrunnpriser for tokenerPrisplanGrunnsatsForventet mengde—Faktureringsenhet—Kostnad
Inndata · Inngående tokener · Estimat kun for sammenligning — / 1K tokener
Utdata · Utgående tokener · Estimat kun for sammenligning — / 1K tokener
Inndata · Lesing fra hurtigbuffer · Estimat kun for sammenligning — / 1K tokener
Inndata · Skriving til hurtigbuffer · Estimat kun for sammenligning — / 1K tokener
Inndata · Skriving til hurtigbuffer, 1 time · Estimat kun for sammenligning — / 1K tokener
KonfigurasjonInndatabildePrisplan—Forventet mengde—Faktureringsenhetper inndatabildeKostnad
Inndata · inndatabilde · Estimat kun for sammenligning $0 per inndatabilde
KonfigurasjonUltraPrisplan—Forventet mengde—Faktureringsenhetper utdatabildeKostnad
Utdata · bildeutdata · Estimat kun for sammenligning $0.036 per utdatabilde
KonfigurasjonAnslått genereringskostnadPrisplan—Forventet mengdeestimat for én genereringFaktureringsenhet—Kostnad
Utdata · Anslått genereringskostnad · Estimat kun for sammenligning $0.036 estimat før generering

Dette anslaget er verken en tilleggsavgift eller en fast sats for den fullførte genereringen.

Ailoot reserverer et estimert beløp før en forespørsel. Etter resultatet gjøres det endelige beløpet opp basert på målt forbruk. Oppgjør for strømming bruker den endelige forbruksposten. Slik fungerer reservasjon og oppgjør →

Detaljer om referansetariffen

Referanseprisplaner på modellnivå endrer ikke metodevalg, prisoverslag eller kostnader. Aktive kostnader bruker satsene til den valgte Ailoot-metoden.

Konfigurasjoner for bildeprising

Priser etter konfigurasjon

Knytt hver kostnad til de viste vilkårene. Bruk én sats for hvert sett med alternative konfigurasjoner.

KonfigurasjonFaktureringsvilkårKostnad
KonfigurasjonUtdatabildeFaktureringsvilkårIngen prisvariant er deklarert.Kostnad
Utdata · Utdatabilde $0.036 per bilde
KonfigurasjonInndatabildeFaktureringsvilkårIngen prisvariant er deklarert.Kostnad
Inndata · Inndatabilde $0 per bilde

Tilsvarende oppføringer beskriver samme belastning; de legger ikke til enda en avgift.

Eksempelforespørsler

Ailoot Ultra · Bilder

curlPython SDKNode.js SDK
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=json.loads('{"model": "bytedance-seed/seedream-5-0-flash", "prompt": "A lighthouse on a cliff, watercolor", "n": 1, "response_format": "b64_json"}')

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
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': 'bytedance-seed/seedream-5-0-flash', 'prompt': 'A lighthouse on a cliff, watercolor', 'n': 1, 'response_format': 'b64_json'}
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])
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": "bytedance-seed/seedream-5-0-flash", "prompt": "A lighthouse on a cliff, watercolor", "n": 1, "response_format": "b64_json"};
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");

Motta og lagre resultater

Ailoot Ultra · Bilder

Last ned hvert returnerte bilde eller lagre Base64-innholdet

  • 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 ferdige resultater

Lagre hvert ferdige bilde; hent hver returnerte URL eller dekod Base64-innholdet.

Lagre hvert dataelement. Dekod hver b64_json, eller hent hver returnerte signerte URL. Velg filendelse ut fra faktisk MIME-type/byteinnhold.

Hvis det opprinnelige svaret må kontrolleres

Hvis et resultat fra bildegenerering eller bilderedigering må kontrolleres, bevar opprinnelig operation_id/X-Client-Request-ID og den returnerte resultatinformasjonen. Hent eksisterende resultater du eier via mediebiblioteket, ved hjelp av faktiske task_id- eller asset_id-verdier. Ikke send genererings-/redigeringsforespørselen på nytt, og ikke konstruer en URL for statusavlesning fra operation_id.

Svarfelter
FeltType
FeltcreatedTypeinteger
Feltdata[].urlTypestring
Feltdata[].b64_jsonTypebase64 string
FeltusageTypeobject
Feil og neste trinn
SvarVilkårNeste trinn
Svar400 · invalid_request_errorVilkårUgyldige påkrevde felter, materialrepresentasjon eller parameterverdiNeste trinnKorriger de angitte feltene før en ny opprettelsesforespørsel.
Svarserver_errorVilkårDet returnerte svaret angir at operasjonen eller resultatet må kontrolleresNeste trinnBevar den opprinnelige returnerte operasjons-/oppgave-ID-en, forespørselshodene og svaret; fortsett å lese den opprinnelige operasjonen på de støttede måtene. Ikke send opprettelsesforespørselen på nytt.

Aliaser

Modellaliaser

Ailoot Ultra bytedance-seed/seedream-5-0-flash

Aliaser for metodestier

Bruk metodestiene som vises ovenfor.

Tilknyttede anroper-ID-er

bytedance-seed/seedream-5-0-flash

FAQ · ByteDance Seed: Seedream 5.0 Flash
Hvilke inndata og resultater er tilgjengelige?

POST /v1/images/generations · bytedance-seed/seedream-5-0-flash: text → image

Hvilke felt bruker forespørselen?

POST /v1/images/generations · bytedance-seed/seedream-5-0-flash: model, prompt, n, response_format, stream

Flere detaljer

Koble Ailoot til Claude Code, OpenCode, Hermes eller egen applikasjon.

Selskapet og dets prosjektportefølje

Selskapet og dets prosjektportefølje: millioner av kunder; månedlig salg for milliarder.

Kjøp tokener med rabatt.

Abonnementsrabatt for jevnlig bruk. Kampanjekoder gir opptil 50% på tokenkjøp.

Abonnement
Velg et rabattabonnement for faste forespørsler.
Kampanjekode opptil 50%
Oppgi kode ved kjøp. Prisen beregnes på nytt etter gjeldende kampanje.
Kostnader i historikken
Modell, tokener og beløp lagres for hver forespørsel.

Velg abonnement · Se modellpriser

Koble API-et til produktet du selger.

SaaS, apper og boter etter Ailoots offentlige tilbud og lisensavtale. Be om forhandlerlisens for videresalg.

Kommersiell applikasjon
Bygg tekst-, bilde-, video- og lydgenerering inn i betalte funksjoner i tjenesten.
Forhandlerlisens
Send prosjektbeskrivelse og tilgangsopplegg. Be om skriftlige vilkår for bruk og videresalg.
Dokumenter på nettstedet
Offentlig tilbud, lisensavtale og retningslinjer for databehandling er tilgjengelige før tilkobling.

Be om forhandlerlisens · Offentlig tilbud og lisensavtale