Microsoft AI: MAI-Image-2.5
Microsoft AI MAI-Image-2.5 tworzy obrazy z tekstu i wprowadza celowane poprawki w dostarczonych zdjęciach lub projektach. Obsługuje zmiany przedmiotów i tekstu, usuwanie artefaktów oraz poprawki zachowujące twarz, z wynikiem PNG i maksymalnie pięcioma referencjami wizualnymi. Karta modelu określa kontekst 32K i 1 048 576 pikseli wyjściowych.
O modelu
Ten opis przedstawia możliwości modelu. Dane wejściowe, wyniki i opcje dostępne w Ailoot podano poniżej dla wybranej metody.
Microsoft AI MAI-Image-2.5 to wersja rodziny obrazowej 2.5 do ogólnego generowania i kontrolowanej edycji. Karta modelu opisuje model dyfuzyjny korzystający z flow matching, z 20 miliardami parametrów poza osadzeniami, wejściem tekstowym i obrazowym oraz kontekstem 32K tokenów. Tworzy obrazy do koncepcji, portretów, grafik produktowych, ilustracji i poprawek istniejących projektów. Przydatnym wyborem na początku jest ustalenie, czy zadanie wymaga nowej kompozycji, czy konkretnej zmiany materiału, który już zawiera zamierzony temat.
Przy generowaniu opisz główny temat, styl wizualny, światło, punkt widzenia i układ. Producent podkreśla szczegółowe, spójne obrazy, renderowanie tekstu, grafiki produktowe i zgodność z promptem. Praktyczny opis ilustracji do prezentacji może określać rolę tematu, zamierzony akcent wizualny i ilość przestrzeni wokół. Koncepcja produktu może obejmować materiał, skalę i wykończenie powierzchni. Zachowaj spójność opisu, aby przedmioty współdzieliły jedną scenę i jeden plan oświetlenia, zamiast łączyć kilka niezgodnych sposobów przedstawienia.
Rozumowanie wizualne w tej wersji dotyczy struktury sceny, oświetlenia, skali i relacji przestrzennych. Producent podaje dodawanie przedmiotu z odpowiednią perspektywą i cieniami jako zastosowanie edycji. Przy edycji warsztatu umieść mały stołek obok stołu warsztatowego, zachowując istniejący punkt widzenia i światło. Ocena powinna porównywać rozmiar stołka, miejsce styku z podłogą i zgodność cienia z pozostałymi przedmiotami. Lokalnie przekonujący przedmiot nadal musi pasować do geometrii całego obrazu źródłowego.
Ukierunkowane edycje obejmują usuwanie lub podmianę przedmiotów, zmiany cech, uzupełnianie fragmentów obrazu, adaptację układu, aktualizacje tekstu i czyszczenie, takie jak ograniczanie artefaktów rozmycia ruchu. Dostarcz obraz źródłowy i nazwij zarówno korektę, jak i szczegóły do zachowania. Skupiona edycja zdjęcia może usuwać rozpraszający przedmiot z tła, zachowując osobę, kadr i układ pierwszego planu. Poprawka projektu może aktualizować krótką linię tekstu, zachowując kompozycję. Porównaj cały wynik ze źródłem, zamiast oceniać tylko edytowany obszar.
Microsoft podkreśla też spójność tożsamości twarzy między edycjami, w tym przy zmianach pozy, wyrazu twarzy lub punktu widzenia. Użyj czytelnej referencji podobieństwa i określ zamierzoną zmianę w sposób zachowujący cechy identyfikujące. Obecny przewodnik edycji producenta przyjmuje maksymalnie pięć obrazów JPEG lub PNG, pozwalając różnym referencjom wskazywać osobę, przedmiot, scenę lub styl. Nazwij te role w prompcie. W poprawce portretu sprawdź twarz oraz zmienione ubranie lub tło, zanim uznasz obraz za gotowy.
Konkretna karta modelu ogranicza wynik do 1 048 576 pikseli łącznie, odpowiadających kwadratowi 1024×1024, i pozwala jednemu bokowi przekroczyć 1024, jeśli całość pozostaje w tym polu. Przewodnik udostępniania dodatkowo wymaga co najmniej 768 pikseli w obu wymiarach. Prostokątny cel, taki jak 1344×768, ma 1 032 192 piksele i spełnia te udokumentowane reguły pola oraz minimalnych wymiarów. Użytecznym limitem jest iloczyn szerokości i wysokości, dlatego przygotuj docelowy kształt przed zleceniem kompozycji poziomej lub pionowej.
Generowanie i edycja zwracają dane obrazu PNG w interfejsie udostępniania producenta. Natywna karta modelu podaje kontekst 32K tokenów, a ten interfejs określa maksymalny kontekst promptu na 32 000 tokenów. Osobna katalogowa liczba 4096 tokenów wyjściowych jest przydziałem tokenów, a nie wymiarem wyniku. Zachowaj te podane zakresy przy porządkowaniu szczegółowego promptu i gotowego obrazu. Materiały źródłowe, zachowane cechy, żądane edycje i docelowy rozmiar tworzą przydatny zapis poprawek obok pliku PNG.
Zakres twórczy modelu obejmuje obrazy fotorealistyczne i filmowe, portrety, koncepcje produktów lub marek, projekty zawierające tekst i inne style wizualne. Dla etykiety lub znaku dostarcz dokładne słowa i sprawdź pisownię w docelowym rozmiarze wyświetlania. Rozpoznawalna powierzchnia fotograficzna nadal może zawierać wymyślony szczegół, niespójne odbicie lub niepoprawne litery. Praktyczna kontrola podąża za wymaganiami projektu: tożsamość przedmiotu, czytelność, relacje przestrzenne i zachowana scena mają znaczenie. Oddzielaj konkretną korektę od zmian, które już się powiodły.
W rodzinie 2.5 Pro podkreśla wyższą wierność i stabilne zależności w gęstych scenach, a Flash służy sprawniejszej produkcji. Rodzina 2.6 wprowadza większy udokumentowany limit pola pikseli, opcjonalne korzystanie z informacji z sieci i wybór proporcji kierowany przez model. Standardowy 2.5 zachowuje własny proces generowania i edycji bez tych późniejszych ustawień. Wybieraj wersję według trudnej części rzeczywistego zadania obrazowego i porównuj gotowy wynik z tym opisem.
Ailoot Ultra · Obrazy POST /v1/images/generations microsoft/mai-image-2.5
microsoft/mai-image-2.5Start
Microsoft AI MAI-Image-2.5 tworzy obrazy z tekstu i wprowadza celowane poprawki w dostarczonych zdjęciach lub projektach. Obsługuje zmiany przedmiotów i tekstu, usuwanie artefaktów oraz poprawki zachowujące twarz, z wynikiem PNG i maksymalnie pięcioma referencjami wizualnymi. Karta modelu określa kontekst 32K i 1 048 576 pikseli wyjściowych.
- Akceptowane dane wejściowe
- Tekst · Obrazy
- Wyniki
- Obrazy
Dostępne w Ailoot · dane wejściowe i metody
Ailoot Ultra · Obrazy POST /v1/images/generations
- Wejście
text,image- Wyjście
image
| Pole | Typ | Wymaganie | Wartości i limity | Domyślnie |
|---|---|---|---|---|
Polemodel | Typstring | WymaganieWymagane | Wartości i limity microsoft/mai-image-2.5 | Domyślnie— |
Poleprompt | Typstring | WymaganieWymagane | Wartości i limity Minimalna długość: 1 | Domyślnie— |
Poleaspect_ratio | Typstring | WymaganieOpcjonalne | Wartości i limity 1:1, 4:3, 3:4, 16:9, 9:16, 3:2, 2:3, auto | Domyślnie— |
Polen | Typinteger | WymaganieOpcjonalne | Wartości i limity Minimum: 1 Maksimum: 1 | Domyślnie— |
Poleinput_references | Typarray | WymaganieOpcjonalne | Wartości i limity Minimalna liczba elementów: 0 Maksymalna liczba elementów: 1 | Domyślnie— |
Poleprovider | Typobject | WymaganieOpcjonalne | Wartości i limity | Domyślnie— |
Parametry i cykl życia metody
| Parametr | Kontrakt |
|---|---|
Parametrcontent_type | Kontraktapplication/json |
Parametrrequired | Kontraktmodel, prompt |
Parametrmaterial_types | Kontrakttext, image |
Cykl życia: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · Rzeczywiście zwrócony task_id lub wpis w bibliotece multimediów
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Cennik
Jak obliczana jest ostateczna opłata
Wyświetlane stawki służą do oszacowania kosztu przed generowaniem. Ostateczna opłata jest obliczana na podstawie kosztu zarejestrowanego dla pierwotnego generowania. Zmierzony czas trwania wyniku i prognozowane ilości nie stanowią ostatecznej ilości podlegającej rozliczeniu.
Informacje taryfowe nie dodają opcji żądania. Obsługiwane parametry podano przy wybranej metodzie.
- Tryb szybki
- Nie określono Gdy wybrany jest tryb szybki
- Tryb flex
- Nie określono Gdy wybrany jest tryb flex
- Maksymalna intensywność rozumowania
- Nie określono Gdy dla maksymalnej intensywności rozumowania stosowana jest domyślna korekta (default)
Szacunkowe stawki do porównania
Ceny według konfiguracji
Dopasuj każdą opłatę do pokazanych warunków. Użyj jednej stawki dla każdego zestawu alternatywnych konfiguracji.
| Konfiguracja | Tabela stawek | Przewidywana ilość | Opłata |
|---|---|---|---|
| KonfiguracjaBazowe stawki za tokeny | Tabela stawekStawka podstawowa | Przewidywana ilość— | Opłata Wejście · Tokeny wejściowe · Szacunek tylko do porównania — / 1K tokenów Wyjście · Tokeny wyjściowe · Szacunek tylko do porównania — / 1K tokenów Wejście · Odczyt cache · Szacunek tylko do porównania — / 1K tokenów Wejście · Zapis do cache · Szacunek tylko do porównania — / 1K tokenów Wejście · Zapis do cache, 1 godz. · Szacunek tylko do porównania — / 1K tokenów |
| KonfiguracjaSzacowany koszt generowania | Tabela stawek— | Przewidywana ilośćszacunek dla jednego generowania | Opłata Wyjście · Szacowany koszt generowania · Szacunek tylko do porównania $0.385024 szacunek przed generowaniem Ten szacunek nie jest dodatkową opłatą ani stałą stawką za ukończone generowanie. |
Ailoot rezerwuje szacowaną kwotę przed żądaniem. Po otrzymaniu wyniku rozlicza ostateczną opłatę według zmierzonego użycia. Rozliczenie strumieniowania korzysta z końcowego rekordu użycia. Jak działają rezerwacja i rozliczenie →
Przykładowe żądania
Ailoot Ultra · Obrazy
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': 'microsoft/mai-image-2.5', '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
Odbieranie i zapisywanie wyników
Ailoot Ultra · Obrazy
Pobierz każdy zwrócony obraz lub zapisz jego zawartość Base64
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Inne odczyty treści
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.
Zachowaj wszystkie ukończone wyniki
Zapisz każdy ukończony obraz; pobierz każdy zwrócony URL lub zdekoduj zawartość Base64.
Zachowaj pełną odpowiedź i nagłówki, wszystkie rzeczywiście uzyskane wyniki, pierwotnie zwrócone identyfikatory oraz wszystkie pola zużycia. Odzyskaj pierwotną operację bez ponownego wysyłania żądania utworzenia.
Jeśli trzeba sprawdzić pierwotną odpowiedź
Zachowaj zwrócony X-Client-Request-ID do uzgodnienia danych. Odczytuj wyłącznie rzeczywiście zwrócone wartości task_id/asset_id lub własną bibliotekę multimediów; nigdy nie buduj adresu URL zadania na podstawie identyfikatora operacji i nigdy nie wysyłaj ponownie żądania utworzenia.
Pola odpowiedzi
| Pole | Typ |
|---|---|
Polecreated | Typ |
Poledata[].url | Typ |
Poledata[].b64_json | Typ |
Poleusage | Typ |
Aliasy
Aliasy modelu
Ailoot Ultra microsoft/mai-image-2.5
Aliasy ścieżek metod
/v1/images
Powiązane ID modeli
FAQ · Microsoft AI: MAI-Image-2.5
- Jakie dane wejściowe i wyniki są dostępne?
POST /v1/images/generations·microsoft/mai-image-2.5:text,image→image- Jakich pól używa żądanie?
POST /v1/images/generations·microsoft/mai-image-2.5:model,prompt,aspect_ratio,n,input_references,provider- Jakie limity obowiązują?
POST /v1/images/generations·microsoft/mai-image-2.5:n.minimum:1;n.maximum:1