Gemini Omni 1.2 Flash — Parametry i ograniczenia
Kontrakt bramy APIMaster dla gemini-omni-1.2-flash, sprawdzony 2026-11-07. To nie jest natywny interfejs Google Interactions; zasady Official/Ext wersji 1.1 nie obowiązują.
Gemini Omni 1.2 Flash
Kontrakt bramy APIMaster dla gemini-omni-1.2-flash, sprawdzony 2026-11-07. To nie jest natywny interfejs Google Interactions; zasady Official/Ext wersji 1.1 nie obowiązują.
OpenAPI 3.1 · Gemini Omni 1.2 Flash
Punkty końcowe i uwierzytelnianie
Obecna publiczna trasa to kanał 335. Użyj Authorization: Bearer YOUR_API_KEY oraz Content-Type: application/json. Obowiązują uprawnienia modelu/grupy, saldo i dostępność trasy; nie opublikowano dodatkowej listy dozwolonych klientów. Nie dopisuj kanału do ID modelu. Brak osobnej trasy Ext 1.2. Obecność na liście modeli nie oznacza udostępnienia wszystkich funkcji Google.
POST https://apimaster.ai/v1/videosPOST https://apimaster.ai/v1/videos/generationsGET https://apimaster.ai/v1/videos/{task_id}GET https://apimaster.ai/v1/videos/{task_id}/contentGET https://apimaster.ai/v1/video-submissions/by-keyGET https://apimaster.ai/api/log/token
Parametry i ograniczenia
| Pole | Typ | Zasada |
|---|---|---|
model |
string |
Dokładny publiczny identyfikator modelu. |
prompt |
string |
Niepusta instrukcja wymagana w każdym trybie, także edycji i kontynuacji. Opisz tu generowany dźwięk. |
duration |
integer |
Domyślnie 10. Zwykłe generowanie: całkowite 3–15 sekund; interpolacja pierwszej/ostatniej klatki i nowy fragment rozszerzenia: 3–10. Pomijane przy edycji. |
seconds |
integer / string |
Alias duration: liczba całkowita lub jej zapis tekstowy. duration ma pierwszeństwo, gdy podano oba. |
resolution |
string |
360p, 720p (domyślnie), 1080p, 4k; wielkość liter bez znaczenia. 2160p staje się 4k. 1080p/4k to skalowanie w górę. |
aspect_ratio |
string |
16:9 (domyślnie) lub 9:16. Inne ciągi są obecnie normalizowane do 16:9. |
ratio |
string |
Dawny alias proporcji obrazu, nie rozdzielczości. Zalecane aspect_ratio. |
size |
string |
Alias proporcji; kolejność pierwszeństwa: aspect_ratio, ratio, size. |
image_urls |
string[] |
Tablica publicznych adresów HTTP(S) obrazów. Zwykle jeden obraz jest początkowy, wiele stanowi referencje. |
first_frame_image |
string |
Publiczny URL pierwszej klatki. |
last_frame_image |
string |
Wymaga first_frame_image; proporcje klatek powinny odpowiadać wynikowi. |
image_with_roles |
object[] |
Alternatywa dla jawnych pól klatek, bez łączenia obu metod. Każdy obiekt zawiera url i niepuste role. first_frame/last_frame to klatki, pozostałe role to referencje. Ostatnia wymaga pierwszej. |
video_urls |
string[] |
Najwyżej jeden publiczny film wejściowy do 15 sekund. Domyślnie edycja. |
omni_reference_task_type |
string |
auto, edit, extend, reference, text_to_video, image_to_video, reference_to_video. Rozszerzenie wymaga jawnego extend. |
extend_from_task_id |
string |
Publiczne ID ukończonego zadania tego samego konta i modelu. Wyklucza video_urls. Pierwotny kanał i konto muszą być dostępne. To nie Google interaction ID. |
Łącznie najwyżej 10 obrazów i klatek. Wybierz image_with_roles albo jawne pola klatek. Dostawca zaleca najwyżej dwie postacie i po trzy obrazy każdej. Tylko bezpośrednie publiczne URL HTTP(S), bez Base64, Data URL i multipart. Sprawdzono PNG/JPEG oraz MP4. Kontrola długości odczytuje do 100 MiB mediów zgodnych z MP4/MOV; nie jest to gwarantowany limit przesyłania dostawcy. Limit pojedynczego obrazu oraz pełny zestaw kodeków i rozmiarów nie są potwierdzone.
Brak obsługi referencji audio, audio_urls, stanu Google interaction/conversation, metadata, generation_type, system_prompt, temperature, negative_prompt, seed, fps, n. Zakazy i pożądany dźwięk zapisz w prompt. Można łączyć ukończone publiczne zadania, lecz każdy film wejściowy nadal ma limit 15 sekund; to nie natywna rozmowa Google. Nieznane pola najwyższego poziomu są odrzucane.
Niewykonywalne przykłady JSON
Poniżej niewykonywalne treści JSON, nie skrypty. Zastąp example.com i przykładowe ID. Nowa operacja wymaga nowego klucza; ponowienie zachowuje ten sam klucz i treść. Kolejna kontynuacja używa publicznego ID ukończonego zadania potomnego. Nie ma prawidłowego przykładu wejścia audio.
1. text_to_video
{"model":"gemini-omni-1.2-flash","prompt":"A blue glass sphere rolls slowly across a plain gray table.","duration":3,"resolution":"360p","aspect_ratio":"16:9"}
2. reference_to_video
{"model":"gemini-omni-1.2-flash","prompt":"Animate these geometric references while preserving their shapes and colors.","image_urls":["https://example.com/reference-a.png","https://example.com/reference-b.png"],"omni_reference_task_type":"reference","duration":6,"resolution":"720p","aspect_ratio":"16:9"}
3. first_frame_image / last_frame_image
{"model":"gemini-omni-1.2-flash","prompt":"Make a smooth transition from the first view to the last view.","first_frame_image":"https://example.com/first.png","last_frame_image":"https://example.com/last.png","duration":6,"resolution":"720p","aspect_ratio":"16:9"}
4. image_with_roles
{"model":"gemini-omni-1.2-flash","prompt":"Make a smooth transition between these views.","image_with_roles":[{"url":"https://example.com/first.png","role":"first_frame"},{"url":"https://example.com/last.png","role":"last_frame"}],"duration":6,"resolution":"720p"}
5. edit / video_urls
{"model":"gemini-omni-1.2-flash","prompt":"Change the lighting to sunset while preserving the scene.","video_urls":["https://example.com/input.mp4"],"omni_reference_task_type":"edit","resolution":"720p"}
6. extend / video_urls
{"model":"gemini-omni-1.2-flash","prompt":"Continue the camera movement for three more seconds.","video_urls":["https://example.com/input.mp4"],"omni_reference_task_type":"extend","duration":3,"resolution":"720p"}
7. extend / extend_from_task_id
{"model":"gemini-omni-1.2-flash","prompt":"Continue the previous scene with a gentle camera pan.","extend_from_task_id":"task_YOUR_COMPLETED_TASK","omni_reference_task_type":"extend","duration":3,"resolution":"720p"}
8. edit / extend_from_task_id
{"model":"gemini-omni-1.2-flash","prompt":"Keep the scene but turn the blue sphere yellow.","extend_from_task_id":"task_YOUR_COMPLETED_TASK","omni_reference_task_type":"edit","resolution":"720p"}
Sprawdzanie zadań i pobieranie
Pierwszy przyjęty POST zwraca HTTP 200 i queued. Sprawdzaj co 5–10 sekund: queued → in_progress → completed/failed; uwzględniaj przejściowe unknown. url i metadata.url są uwierzytelnionymi pośrednikami, pobieranie wymaga Bearer. Błąd generowania zwykle zwraca HTTP 200 oraz error.code=generation_failed z oczyszczonym komunikatem. Błędy wysyłania używają 4xx/5xx. Timeout ani 5xx nie dowodzą nieprzyjęcia. W przykładach zmieniono ID i daty.
{"id":"task_REDACTED_EXAMPLE","task_id":"task_REDACTED_EXAMPLE","object":"video","model":"gemini-omni-1.2-flash","status":"queued"}
{"id":"task_REDACTED_COMPLETED_EXAMPLE","task_id":"task_REDACTED_COMPLETED_EXAMPLE","object":"video","model":"gemini-omni-1.2-flash","status":"completed","progress":100,"created_at":1793966808,"url":"https://apimaster.ai/v1/videos/task_REDACTED_COMPLETED_EXAMPLE/content","metadata":{"url":"https://apimaster.ai/v1/videos/task_REDACTED_COMPLETED_EXAMPLE/content"}}
{"id":"task_REDACTED_FAILED_EXAMPLE","task_id":"task_REDACTED_FAILED_EXAMPLE","object":"video","model":"gemini-omni-1.2-flash","status":"failed","progress":100,"created_at":1793966808,"error":{"code":"generation_failed","message":"The generation request failed."}}
Użycie, końcowy koszt i zwroty
Odpowiedź zadania nie gwarantuje usage, podziału modalności ani USD. Końcowa opłata klienta po uzgodnieniu to other.final_amount_usd w dzienniku zużycia. GET /api/log/token z tym samym kluczem zwraca ograniczoną listę ostatnich wpisów, nie pełne archiwum faktur. GET /api/log/self wymaga uwierzytelnienia konta. Przetwórz other jako JSON i dopasuj other.task_id. Rzeczywiste użycie może zawierać prompt_tokens, completion_tokens oraz other.input_tokens, text_output_tokens, video_output_tokens, token_usage_source, retail_token_prices, group_ratio. Wejście jest zbiorcze; podział tekst/obraz/wideo nie jest gwarantowany.
Na 2026-11-07 podstawowe ceny sprzedaży kanału 335 za milion tokenów: wejście $1.32, wyjście tekstowe $7.92, wideo $10.56, przed mnożnikiem konta. Sprawdź aktualną kartę. Szacowana kwota jest rezerwowana, następnie rozliczana według zamrożonych cen i faktycznego użycia, z dopłatą lub zwrotem. Potwierdzony błąd generowania zwraca rezerwę; niepewne przyjęcie nie gwarantuje natychmiastowego zwrotu. 500,000 quota = USD 1. Rezerwa nie jest końcową fakturą; nie sumuj ponownie kwoty końcowej z korektami. Przykład historyczny: wejście 39, tekst 0, wideo 5793, $0.064286; nie jest stałą wyceną nowego żądania.
USD = (input_tokens × input_rate
+ text_output_tokens × text_output_rate
+ video_output_tokens × video_output_rate) / 1,000,000
Rozszerzenie nalicza wyjście wideo nowego fragmentu oraz wejście filmu referencyjnego, mimo połączenia obu w MP4. Sprawdzono 3+3 sekundy: plik około 6 sekund, nowe wyjście około 3 sekund. Generowany dźwięk wchodzi do wyjścia wideo. Przy braku szczegółów tekstu obecny parser traktuje zgłoszone wyjście jako wideo. Bez prawidłowych tokenów, ale z wiarygodnym potwierdzeniem kosztu dostawcy, można rozliczyć przez token_usage_source=provider_cost_receipt, bez wymyślonych liczników. Bez obu trwa uzgadnianie. Nie gwarantujemy wszystkich liczników ani stałego terminu rozliczenia.
Idempotencja bramy i odzyskiwanie
Idempotency-Key ma 8–128 widocznych znaków ASCII bez spacji, zakres konta i brak odpowiednika w treści. Ten sam klucz/żądanie zwraca HTTP 202 oraz Idempotency-Replayed:true bez drugiego generowania/rezerwy. Zmiana treści, grupy albo jawnej trasy daje 409 idempotency_conflict. Kolejność kluczy JSON nie ma znaczenia; kolejność tablic oraz pominięte/jawne wartości domyślne mają. Po zerwaniu połączenia brama próbuje dokończyć pierwotne wysłanie i zapis w ograniczonym czasie.
{"code":200,"data":{"submission_id":"REDACTED_SUBMISSION_ID","task_id":"task_REDACTED_EXAMPLE","model":"gemini-omni-1.2-flash","status":"accepted","task_ready":true,"same_key_replay_safe":true,"new_submission_safe":false,"next_action":"query_task"}}
GET /v1/video-submissions/by-key z pierwotnym kluczem i Bearer tylko odczytuje potwierdzenie: bez generowania, wyszukiwania u dostawcy i zmian środków. pending/submitting: sprawdzaj dalej; accepted z task_ready=true: sprawdzaj task_id; niegotowe accepted: czekaj na uzgodnienie lub pomoc. acceptance_unknown: bez automatycznego ponawiania, zachowaj klucz i referencję. not_accepted: popraw potwierdzony błąd i użyj nowego klucza tylko gdy stan potwierdzenia/środków pozwala. Stary klucz nadal odtwarza dawny wynik. 404 z retry_safe=false nie dowodzi nieprzyjęcia. Przechowywanie minimum 30 dni, bez automatycznego ponownego użycia kluczy. Powtórzony POST bez klucza klienta jest nową operacją. To idempotencja bramy, nie Google/APIMart; niepewnych wysłań nie ponawiamy. Przyjęte i finansowo potwierdzone rekordy można odtworzyć bez nowego generowania/opłat.
Nieobsługiwane funkcje i wycena
POST /v1/videos/quote NIE obsługuje tego modelu; obecna walidacja jest przeznaczona dla Seedance. Omni nie ma kontraktu bezpłatnej wyceny bez zadania/wywołania generatora, osobnego invoice ani /v1/videos/{task_id}/billing jako końcowej faktury. Obowiązuje moderacja i ograniczenia regionalne dostawcy, w tym edycji/rozszerzania przesłanych filmów w EEA, Szwajcarii i Wielkiej Brytanii. Połączony schemat opisuje bramę; natywne przykłady nie zastępują ID, odpowiedzi i dzienników APIMaster.
