modely

ByteDance Seed: Seedream 5.0 Flash

Markdown · JSON

ByteDance Seed: Seedream 5.0 Flash

Seedream 5.0 Flash vytváří a upravuje obrázky z textu a vizuálních referencí s prostorově vedenými změnami, vícejazyčným textem v obrazu a rozkladem na vrstvy. ByteDance Seed určuje Flash pro rychlejší generování a odlišuje jej od edice Pro zaměřené na kvalitu.

O modelu

Tento popis zahrnuje schopnosti modelu. Vstupy, výstupy a možnosti dostupné v Ailoot jsou uvedeny níže pro vybranou metodu.

Rychlejší edice pro tvorbu obrázků

Seedream 5.0 Flash je model ByteDance Seed pro generování a úpravy obrázků v postupech upřednostňujících rychlost tvorby. Příručka výrobce Pro/Flash popisuje tvorbu z textu i image-to-image s jednou nebo více referencemi. Odlišuje rychlejší generování Flash od priority vyšší obrazové kvality Pro, aniž by stanovovala pevnou dobu odpovědi pro každé zadání.

Určujícími společnými funkcemi jsou interaktivní úpravy, rozklad na vrstvy a nativní vícejazyčné generování. Běžné generování vrací jeden hotový obrázek. Postup Flash výrobce nepodporuje sekvenční generování souvisejících obrázků, webové vyhledávání ani streamovaný obrazový výstup. Optimalizace promptu používá režim standard; samostatné ovládání rychlé optimalizace patří Pro, nikoli Flash.

Tvorba ze zadání a referencí

Uveďte zamýšlený obraz, hlavní objekt, kompozici a vizuální zpracování a poté určete, co každá reference řídí. U produktového vizuálu oddělte referenci určující předmět od reference dodávající paletu či povrchový materiál. „Zachovej siluetu předmětu a úhel pohledu z prvního obrázku; druhý obrázek použij pouze pro tlumenou paletu pozadí“ dává referencím odlišné role.

Výrobce doporučuje stručné prompty, nejvýše 300 čínských znaků nebo 600 anglických slov. Jde o doporučení pro přípravu, nikoli uvedenou pevnou hranici textového vstupu. Rozhodující požadavky vypište jako první včetně přesného znění, které se má objevit, požadovaného poměru stran a detailů, které musí zůstat beze změny. Hotový obrázek kontrolujte proti tomuto seznamu místo spoléhání jen na celkový vzhled.

Prostorově vedené úpravy

Flash může používat body, ohraničující rámečky, šipky a volné značky k určení místa úpravy. Dodejte zdrojový obrázek spolu s místem a změnou. U interiérového konceptu označte židli, požadujte nahrazení látky a určete podlahu, stěnu, úhel kamery a okolní předměty k zachování. Pokud značky slouží jen jako vodítko, výslovně požadujte jejich odstranění z hotového obrázku.

Příručka výrobce pro úpravy souřadnicemi používá značky <point> a <bbox> se souřadnicemi normalizovanými na 0–999 vůči určenému vstupnímu obrázku. Bod obsahuje x a y; rámeček obsahuje souřadnice levého horního a pravého dolního rohu. Určete číslo obrázku a cílový předmět, zejména když rámeček obsahuje několik objektů. U úpravy mezi obrázky odlište předmět převzatý z jedné reference a cílovou oblast v jiné.

Při získávání poměrné polohy používejte vlastní rozměry zobrazeného obrázku; přiblížení plátna, posun pohledu ani souřadnice prohlížeče nejsou normalizovanými souřadnicemi obrázku. Popište chráněné i upravované oblasti. Perspektivu, osvětlení a okolní detaily výsledku porovnejte s původním zdrojem.

Rozdělte kompozici na editovatelné vrstvy

Rozklad na vrstvy je samostatný režim, který přijímá právě jeden obrázek a vrací základní obrázek plus až 16 nezávislých vrstev. Každá vrstva je PNG s alfa kanálem. Prompt může pojmenovat prvky k oddělení, například nadpis, hlavní objekt a dekorace; bez promptu pro rozklad model hlavní prvky určí automaticky.

Výsledky zahrnují názvy vrstev, popisy, pořadí skládání a rámečky umístění. Základní obrázek použijte s indexem skládání nula a ostatní vrstvy umisťujte ve vzestupném pořadí skládání. Absolutní rámečky popisují umístění ve výstupním základním obrázku; normalizované rámečky popisují poměrné umístění na jiném plátně. Tato vrácená metadata umístění uchovejte s obrazovými soubory, aby šlo původní kompozici rekonstruovat před jejím přeuspořádáním.

U revize plakátu oddělte hlavní grafiku od titulku a dekorací a poté prohlédněte hrany i případnou obnovenou oblast pozadí. Průhlednou vrstvu lze upravit jako jediný vstup s alfa kanálem a průhledným výstupem PNG. Možnost průhledného pozadí je omezena na tento postup úpravy s jediným obrazovým vstupem; běžné generování z textu je samostatnou operací.

Vícejazyčná kompozice

Kromě čínštiny a angličtiny výrobce dokumentuje nativní podporu promptů a textu v obraze pro ruštinu, arabštinu, filipínštinu, thajštinu, turečtinu, korejštinu, malajštinu, španělštinu, portugalštinu, indonéštinu, francouzštinu, němčinu, vietnamštinu a japonštinu. Dodejte přesné schválené znění a směr čtení a určete oblast každého textového bloku. Ve finálním obrázku zkontrolujte diakritiku, spojené znaky, zalomení řádků a malé popisky.

Referenční soubory a specifikace výstupu

Generování obrázků přijímá až 10 referencí ve formátu JPEG, PNG, WebP, BMP, TIFF, GIF, HEIC nebo HEIF. Každá může mít do 30 MB, obě strany nad 14 pixelů, celkem 196–36 000 000 pixelů a poměr stran od 1:16 do 16:1. Rozklad na vrstvy místo toho vyžaduje jeden JPEG nebo PNG o ploše 262 144–36 000 000 pixelů, do 30 MB, v témže rozsahu poměrů.

Generování nabízí výstupní úrovně 1K, 1.5K a 2K s výchozím 2K nebo explicitní rozměry s celkovou plochou 921 600–4 624 220 pixelů a poměry 1:16 až 16:1. Pro vlastní rozměry platí obě omezení. Výstup vrstev používá 1K, 1.5K, 2K nebo auto s výchozím auto; základ i jednotlivé vrstvy zachovávají příslušné poměry stran zdroje.

Hotové obrázky jsou JPEG nebo PNG. Formát základního obrázku lze vybrat samostatně, rozložené vrstvy zůstávají PNG s alfa kanálem. Dodání může využít kódovaná obrazová data nebo odkazy ke stažení uchovávané 24 hodin. Každý vrácený obrázek a jeho metadata uložte pro zamýšlený designový postup. Text, upravené detaily a zarovnání vrstev kontrolujte ve velikosti použití grafiky.

Ailoot Ultra · Obrázky POST /v1/images/generations bytedance-seed/seedream-5-0-flash

bytedance-seed/seedream-5-0-flash

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

Úvod

Vytvořte jeden hotový obrázek z textového zadání.

  • Vytvořte statický produktový snímek
  • Prozkoumejte vizuální koncept
  • Ilustrujte scénu
Přijímané vstupy
Text
Výsledky
Obrázky

Dostupné v Ailoot · vstupy a metody

Ailoot Ultra · Obrázky POST /v1/images/generations
Vstup
text
Výstup
image
Výstupní formát
Soubor obrázku
Počet výstupů
1 výstup
PoleTypPožadavekHodnoty a limityVýchozí
PolemodelTypstringPožadavekPovinnéHodnoty a limity
bytedance-seed/seedream-5-0-flash
Výchozí—
PolepromptTypstringPožadavekPovinnéHodnoty a limity
Minimální délka: 1
Podmínky: Neprázdné zadání v UTF8. Žádný limit počtu znaků pro všechny modely výrobce se zde nedoplňuje.
Výchozí—
PolenTypintegerPožadavekVolitelnéHodnoty a limity
1
Výchozí1
Poleresponse_formatTypstringPožadavekVolitelnéHodnoty a limity
url, b64_json
Výchozí—
PolestreamTypbooleanPožadavekVolitelnéHodnoty a limity
false
Výchozífalse
Kombinace vstupních materiálů

Text na obrázek · Povinné: prompt

Parametry a životní cyklus metody
ParametrKontrakt
Parametrcontent_typeKontraktapplication/json
ParametrrequiredKontraktmodel, prompt
Parametrmaterial_typesKontrakttext
ParametroptionalKontraktn, response_format, stream
ParametrnKontrakt1
ParametrstreamKontraktfalse
Parametrresponse_formatKontrakturl, b64_json
Parametrreference_imagesKontraktfalse
ParametreditKontraktfalse
Parametroutput_format_optionalKontrakt
Parametrresolution_controlKontraktnull
Parametraspect_ratio_controlKontraktnull
Parametrother_fieldsKontraktodmítnuto s výjimkou přesně určeného interního směrování poskytovatele

Životní cyklus: synchronous_result_then_owned_library

GET /v1/media/tasks/{task_id} · skutečně vrácené task_id nebo záznam v knihovně médií

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

GET /v1/media/assets

GET /v1/media/assets/{asset_id}

Vygenerujte jeden obrázek z textového zadání.

Uložte každou položku data; url/b64_json jsou způsoby kódování výsledku.

Tarify

Jak se vypočítá konečný poplatek

Zobrazené sazby slouží k odhadu ceny před generováním. Konečný poplatek se vypočítá z nákladů zaznamenaných u původního generování. Naměřená délka výstupu ani odhadovaná množství nejsou konečným účtovaným množstvím.

Údaje o tarifech nepřidávají možnosti požadavku. Podporované parametry jsou uvedeny u vybrané metody.

Rychlý režim
Neuvedeno Při výběru rychlého režimu
Režim flex
Neuvedeno Při výběru režimu flex
Maximální intenzita uvažování
Neuvedeno Když se při maximální intenzitě uvažování použije výchozí úprava (default)

Odhadované sazby pro srovnání

Ceny podle konfigurace

Přiřaďte každý poplatek k uvedeným podmínkám. Pro každou sadu alternativních konfigurací použijte jednu sazbu.

KonfiguraceTabulka sazebPředpokládané množstvíÚčtovací jednotkaPoplatek
KonfiguraceZákladní sazby za tokenyTabulka sazebZákladní sazbaPředpokládané množství—Účtovací jednotka—Poplatek
Vstup · Vstupní tokeny · Odhad pouze pro srovnání — / 1K tokenů
Výstup · Výstupní tokeny · Odhad pouze pro srovnání — / 1K tokenů
Vstup · Čtení z mezipaměti · Odhad pouze pro srovnání — / 1K tokenů
Vstup · Zápis do mezipaměti · Odhad pouze pro srovnání — / 1K tokenů
Vstup · Zápis do mezipaměti, 1 hodina · Odhad pouze pro srovnání — / 1K tokenů
Konfiguracevstupní obrázekTabulka sazeb—Předpokládané množství—Účtovací jednotkaza vstupní obrázekPoplatek
Vstup · vstupní obrázek · Odhad pouze pro srovnání $0 za vstupní obrázek
KonfiguraceUltraTabulka sazeb—Předpokládané množství—Účtovací jednotkaza výstupní obrázekPoplatek
Výstup · výstup obrázku · Odhad pouze pro srovnání $0.036 za výstupní obrázek
KonfiguraceOdhadovaná cena generováníTabulka sazeb—Předpokládané množstvíodhad pro jedno generováníÚčtovací jednotka—Poplatek
Výstup · Odhadovaná cena generování · Odhad pouze pro srovnání $0.036 odhad před generováním

Tento odhad není dodatečným poplatkem ani pevnou sazbou za dokončené generování.

Ailoot před požadavkem rezervuje odhadovanou částku. Po výsledku vyúčtuje konečný poplatek podle naměřeného využití. Při streamování se účtování řídí konečným záznamem využití. Jak funguje rezervace a vyúčtování →

Podrobnosti referenčního tarifu

Referenční tabulky modelu nemění výběr metody, cenové nabídky ani poplatky. Skutečné poplatky používají sazby vybrané metody Ailoot.

Cenové konfigurace obrázků

Ceny podle konfigurace

Přiřaďte každý poplatek k uvedeným podmínkám. Pro každou sadu alternativních konfigurací použijte jednu sazbu.

KonfiguracePodmínky účtováníPoplatek
KonfiguraceVýstupní obrázekPodmínky účtováníNení deklarována žádná cenová varianta.Poplatek
Výstup · Výstupní obrázek $0.036 za obrázek
KonfiguraceVstupní obrázekPodmínky účtováníNení deklarována žádná cenová varianta.Poplatek
Vstup · Vstupní obrázek $0 za obrázek

Ekvivalentní položky popisují tutéž účtovanou částku; nepřidávají druhý poplatek.

Příklady požadavků

Ailoot Ultra · Obrázky

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");

Přijímání a ukládání výsledků

Ailoot Ultra · Obrázky

Stáhněte každý vrácený obrázek nebo uložte jeho obsah Base64

  • GET /v1/media/tasks/{task_id}
  • GET /v1/media/assets/{asset_id}/content
  • GET /v1/media/assets
  • GET /v1/media/assets/{asset_id}
Uchovejte všechny dokončené výsledky

Uložte každý dokončený obrázek; stáhněte obsah každé vrácené URL nebo dekódujte obsah Base64.

Uložte všechny datové položky. Dekódujte každé b64_json nebo stáhněte soubor z každé vrácené podepsané URL. Příponu souboru zvolte podle skutečného typu MIME a bajtů.

Pokud je nutné ověřit původní odpověď

Pokud výsledek generování nebo úpravy obrázku vyžaduje kontrolu, uchovejte původní operation_id/X-Client-Request-ID a vrácené informace o výsledku. Existující vlastní výsledky obnovte prostřednictvím knihovny médií pomocí skutečných hodnot task_id nebo asset_id. Požadavek na generování či úpravu znovu neodesílejte a nevytvářejte URL pro dotazování na stav z operation_id.

Pole odpovědi
PoleTyp
PolecreatedTypinteger
Poledata[].urlTypstring
Poledata[].b64_jsonTypbase64 string
PoleusageTypobject
Chyby a další kroky
OdpověďPodmínkaDalší krok
Odpověď400 · invalid_request_errorPodmínkaNeplatná povinná pole, reprezentace podkladů nebo hodnota parametruDalší krokPřed novým požadavkem na vytvoření opravte uvedená pole.
Odpověďserver_errorPodmínkaVrácená odpověď uvádí, že operaci nebo výsledek je třeba zkontrolovatDalší krokUchovejte původní vrácené ID operace nebo úlohy, hlavičky požadavku a odpověď; pokračujte v podporovaném načítání údajů o této původní operaci. Požadavek na vytvoření znovu neodesílejte.

Aliasy

Aliasy modelu

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

Aliasy cest metod

Použijte cesty metod uvedené výše.

Související ID modelů

bytedance-seed/seedream-5-0-flash

FAQ · ByteDance Seed: Seedream 5.0 Flash
Jaké vstupy a výsledky jsou dostupné?

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

Jaká pole požadavek používá?

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

Další podrobnosti

Připojte Ailoot k Claude Code, OpenCode, Hermes nebo vlastní aplikaci.

Společnost a její portfolio projektů

Společnost a její portfolio projektů: miliony zákazníků; měsíční tržby v miliardách.

Nakupujte tokeny se slevou.

Sleva předplatného pro pravidelnou práci. Promo kódy až 50% na nákup tokenů.

Předplatné
Pro pravidelné požadavky vyberte tarif se slevou.
Promo kód až 50%
Při nákupu zadejte kód. Cena se přepočítá podle probíhající akce.
Výdaje v historii
U každého požadavku se uloží model, tokeny a částka.

Vybrat předplatné · Zobrazit ceny modelů

Připojte API k produktu, který prodáváte.

SaaS, aplikace a boti podle nabídky a licenční smlouvy Ailoot. Pro přeprodej požádejte o licenci přeprodejce.

Komerční aplikace
Začleňte generování textu, obrázků, videa a zvuku do placených funkcí své služby.
Licence pro přeprodejce
Pošlete popis projektu a způsob poskytování přístupu. Vyžádejte písemné podmínky použití a přeprodeje.
Dokumenty na webu
Nabídka, licenční smlouva a zásady zpracování dat jsou dostupné před připojením.

Požádat o licenci přeprodejce · Nabídka a licenční smlouva