DeepSeek: DeepSeek V4 Flash Vision Exp
DeepSeek V4 Flash Vision Exp spojuje obrázky a text pro vizuální porozumění a multimodální úlohy agentů. Do architektury V4 Flash přidává vizuální moduly a vrací text, což umožňuje vysvětlení, analýzy a návrhy akcí nástrojů opřené o obrázky.
- Ailoot Ultra · OpenAI Chat
POST /v1/chat/completionsdeepseek/deepseek-v4-flash-vision-exp - Ailoot Ultra · Anthropic Messages
POST /v1/messagesdeepseek/deepseek-v4-flash-vision-exp
O modelu
Tento popis zahrnuje schopnosti modelu. Vstupy, výstupy a možnosti dostupné v Ailoot jsou uvedeny níže pro vybranou metodu.
DeepSeek V4 Flash Vision Exp je experimentální multimodální model DeepSeek z rodiny V4. Vychází z V4 Flash, doplňuje jej o vizuální moduly a navazující trénink pro vizuální porozumění. Vstup kombinuje obrázky s textem a výstupem je text. Jeho zdokumentovaný účel spojuje multimodální práci agentů s textovými úlohami agentů, takže se hodí tam, kde jsou informace potřebné pro asistenta viditelné na snímku obrazovky, grafu nebo jiném dodaném obrázku.
Referenční materiál výrobce popisuje vizuální enkodér a modul zarovnání propojené s pozorností DFlash, komponentami mixture-of-experts, hyperpropojeními a cestou DSpark. Vizuální moduly převádějí informace z obrázků do podoby, kterou může jazykový model použít spolu s písemnou otázkou. Tím se liší od čistě textového profilu V4 Flash uvedeného na kartě, jehož porovnání posuzuje multimodální prvky samostatně. Vision Exp je pojmenovaná edice, nikoli pokyn přidat libovolnou podporu médií k jinému modelu Flash.
Reference formátu promptů podporuje prokládaný obrazový obsah, konverzace s více výměnami, volání nástrojů a režimy uvažování. Prompty bez uvažování mohou požadovat přímou odpověď; prompty s uvažováním mohou používat nastavení úsilí při uvažování včetně zdokumentovaného příkladu Max. Obrázky se zaznamenávají přesně v pořadí, v jakém se objevují v promptu. Více vstupů očíslujte nebo označte a uveďte, ke kterému obrázku se otázka vztahuje, aby vizuální porovnání zachovalo vazbu na zdroj.
Publikovaná konfigurace nastavuje max_position_embeddings na 1 048 576. Jde o limit pozic v konfiguraci modelu, nikoli samostatnou specifikaci maximálního výstupu. Připravte cílenou sadu obrázků a přesnou otázku a současně udržujte prompt, konverzaci i generovanou odpověď v limitech zvoleného postupu výrobce.
Pro praktickou úlohu v rozhraní poskytněte aktuální snímek obrazovky, zamýšlenou akci uživatele a případnou relevantní textovou specifikaci. Ukázkové zadání zní: „Určete viditelné ovládací prvky potřebné ke změně tohoto nastavení. Použijte jejich zobrazené popisky, vysvětlete další akci a uveďte, která část obrazovky ji dokládá.“ U grafu žádejte viditelné hodnoty a vztahy odděleně od odvozené interpretace. Pokud záleží na drobném písmu, poskytněte čitelný výřez spolu s dostatečným okolním kontextem pro určení jeho role.
V aplikaci s agentem může model po interpretaci obrázku a pokynu navrhnout operaci nástroje. Okolní aplikace tuto operaci provede, vrátí pozorování a podle potřeby dodá další vizuální stav. Definujte účel nástroje a povolené akce. Navržené kliknutí, napsaná souřadnice nebo vygenerovaný kód zůstávají textovým výsledkem, dokud aplikace neprovede odpovídající operaci; výsledné pozorování použijte jako důkaz pro další krok.
U výstupu založeného na zdrojích požadujte, aby odpověď určila obrázek a viditelný detail, na nichž se jednotlivá zjištění zakládají. Oddělte převzaté znění od vysvětlení a navrženou akci od provedené. U úlohy převodu snímku obrazovky na kód přidejte příslušný zdrojový text, zamýšlené chování a požadovaný konečný výstup. Profil tohoto modelu zahrnuje porozumění obrázkům a textu s textovým výstupem, nikoli tvorbu obrázků, syntézu řeči nebo předpokládaný postup analýzy videa.
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions deepseek/deepseek-v4-flash-vision-exp
deepseek/deepseek-v4-flash-vision-exp
deepseek/deepseek-v4-flash-vision-expÚvod
DeepSeek V4 Flash Vision Exp spojuje obrázky a text pro vizuální porozumění a multimodální úlohy agentů. Do architektury V4 Flash přidává vizuální moduly a vrací text, což umožňuje vysvětlení, analýzy a návrhy akcí nástrojů opřené o obrázky.
- Přijímané vstupy
- Text
- Výsledky
- Text
Dostupné v Ailoot · vstupy a metody
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
- Vstup
text- Výstup
text- Výstupní formát
- json nebo SSE
| Pole | Typ | Požadavek | Hodnoty a limity | Výchozí |
|---|---|---|---|---|
Polemodel | Typstring | PožadavekPovinné | Hodnoty a limity deepseek/deepseek-v4-flash-vision-exp | Výchozí— |
Polemessages | Typmessage[] | PožadavekPovinné | Hodnoty a limity Minimální počet položek: 1 | Výchozí— |
Polemessages[].role | Typstring | PožadavekPovinné | Hodnoty a limity Závisí na modelu | Výchozí— |
Polemessages[].content | Typstring | PožadavekVolitelné | Hodnoty a limity Platí, když: Textová konverzace | Výchozí— |
Polestream | Typboolean | PožadavekVolitelné | Hodnoty a limity | Výchozífalse |
Kombinace vstupních materiálů
Text · text UTF8
messages[].content
Parametry a životní cyklus metody
| Parametr | Kontrakt |
|---|---|
Parametrcontent_type | Kontraktapplication/json |
Parametrrequired | Kontraktmodel, messages |
Parametrmaterial_types | Kontrakttext |
Parametrmessages | Kontraktpole zpráv se strukturou role/content |
Parametrfile_material | Kontraktskutečný dokument UTF-8 vložený jako doslovný text; ID souboru se neodvozuje |
Parametroptional_controls | Kontraktstream |
Parametrcontrol_scope | KontraktTextová konverzace; stream je booleovská hodnota a ve výchozím nastavení je false. |
Parametroutput_modalities | Kontrakttext |
Parametrhosted_operations | Kontraktfalse |
Parametrmultimodal_input_binding | Kontraktnull |
Aliasy metody: /chat/completions
Životní cyklus: synchronous_or_streamed
Odešlete přesné ID modelu spolu s messages.
Délka kontextu není limitem výstupu.
Textový soubor může dodat doslovný text; obrazové/zvukové vstupy a vstupy v podobě souborových objektů vyžadují přesnou vazbu.
Tarify
Ú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)
Sazby Ailoot
Ceny podle konfigurace
| Konfigurace | Tabulka sazeb | Poplatek |
|---|---|---|
| KonfiguraceZákladní sazby za tokeny | Tabulka sazebZákladní sazba | Poplatek Vstup · Vstupní tokeny $0.00088 / 1K tokenů Výstup · Výstupní tokeny $0.00264 / 1K tokenů Vstup · Čtení z mezipaměti $0.000028 / 1K tokenů Vstup · Zápis do mezipaměti $0 / 1K tokenů Vstup · Zápis do mezipaměti, 1 hodina — / 1K tokenů |
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í →
Příklady požadavků
Ailoot Ultra · OpenAI Chat
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model":"deepseek/deepseek-v4-flash-vision-exp","messages":[{"role":"user","content":"hello"}],"stream":false}')
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/chat/completions \
-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 json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("choices",[]):
if x.get("message",{}).get("content"): print(x["message"]["content"])
PY_RESULT
from openai import OpenAI
import os
if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.chat.completions.create(model="deepseek/deepseek-v4-flash-vision-exp", messages=[{"role":"user","content":"hello"}], stream=False)
import base64, json
from pathlib import Path
def save_result(data, stem="result"):
# Keep every field, including usage, IDs, reasoning and tool requests.
Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
print(json.dumps(data, ensure_ascii=False, indent=2))
def save_blob(encoded, suffix, label):
raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
file = Path(stem + "-" + label + "." + ext)
file.write_bytes(raw)
print("Saved", file)
for index, block in enumerate(data.get("content") or []):
print("Content", index, json.dumps(block, ensure_ascii=False))
for choice in data.get("choices") or []:
print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
for index, item in enumerate(data.get("output") or []):
print("Output", index, json.dumps(item, ensure_ascii=False))
if item.get("type") == "image_generation_call" and item.get("result"):
save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
for ci, candidate in enumerate(data.get("candidates") or []):
for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
blob = part.get("inlineData") or part.get("inline_data")
if blob and blob.get("data"):
mime = blob.get("mimeType") or blob.get("mime_type")
suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))
save_result(result.to_dict(mode="json"))
Přijímání a ukládání výsledků
Ailoot Ultra · OpenAI Chat
json nebo SSE
Uchovejte všechny dokončené výsledky
Uchovejte každou úplnou vrácenou odpověď, soubor i část obsahu.
Zachovejte každou volbu a její obsah/volání nástrojů/uvažování. V SSE sestavujte přírůstky podle indexu volby/nástroje a zachovejte konečný důvod ukončení i údaje o využití.
Pokud je nutné ověřit původní odpověď
Zachovejte ID požadavků/odpovědí a hlavičky. Není dodána obecná URL pro načtení textové úlohy.
Pole odpovědi
| Pole | Typ |
|---|---|
Polechoices[].index | Typinteger |
Polechoices[].message.content | Typstring|null |
Polechoices[].message.tool_calls | Typtool_call[] |
Polechoices[].message.reasoning_content | Typstring |
Polechoices[].message.reasoning_details | Typobject|array |
Polechoices[].finish_reason | Typstring|null |
Poleusage | Typobject |
Chyby a další kroky
| Odpověď | Podmínka | Další krok |
|---|---|---|
Odpověď400 · invalid_request_error | PodmínkaNeplatná povinná pole, reprezentace podkladů nebo hodnota parametru | Další krokPřed novým požadavkem na vytvoření opravte uvedená pole. |
Aliasy
Aliasy modelu
Ailoot Ultra deepseek/deepseek-v4-flash-vision-exp
Aliasy cest metod
/chat/completions
Související ID modelů
Ailoot Ultra · Anthropic Messages POST /v1/messages deepseek/deepseek-v4-flash-vision-exp
deepseek/deepseek-v4-flash-vision-exp
deepseek/deepseek-v4-flash-vision-expÚvod
DeepSeek V4 Flash Vision Exp spojuje obrázky a text pro vizuální porozumění a multimodální úlohy agentů. Do architektury V4 Flash přidává vizuální moduly a vrací text, což umožňuje vysvětlení, analýzy a návrhy akcí nástrojů opřené o obrázky.
- Přijímané vstupy
- Text
- Výsledky
- json · sse
Dostupné v Ailoot · vstupy a metody
Ailoot Ultra · Anthropic Messages POST /v1/messages
- Vstup
text- Výstup
json,sse- Výstupní formát
- JSON nebo SSE
| Pole | Typ | Požadavek | Hodnoty a limity | Výchozí |
|---|---|---|---|---|
Polemodel | Typstring | PožadavekPovinné | Hodnoty a limity deepseek/deepseek-v4-flash-vision-exp | Výchozí— |
Polemessages | Typmessage[] | PožadavekPovinné | Hodnoty a limity | Výchozí— |
Polemessages[].role | Typstring | PožadavekPovinné | Hodnoty a limity user, assistant | Výchozí— |
Polemessages[].content | Typstring | PožadavekPovinné | Hodnoty a limity | Výchozí— |
Polemax_tokens | Typinteger | PožadavekPovinné | Hodnoty a limity | Výchozí— |
Polestream | Typboolean | PožadavekVolitelné | Hodnoty a limity | Výchozífalse |
Kombinace vstupních materiálů
Text · text UTF-8
řetězec messages[].content
Parametry a životní cyklus metody
| Parametr | Kontrakt |
|---|---|
Parametrcontent_type | Kontraktapplication/json |
Parametrrequired | Kontraktmodel, messages, max_tokens |
Parametroptional_controls | Kontraktstream |
Parametrmaterial_types | Kontrakttext |
Parametrtext_file_material | KontraktPřečtěte skutečný dokument UTF-8 a vložte jeho text do uvedeného pole input nebo do řetězce obsahu zprávy. |
Životní cyklus: synchronous_or_streamed
Tarify
Ú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)
Sazby Ailoot
Ceny podle konfigurace
| Konfigurace | Tabulka sazeb | Poplatek |
|---|---|---|
| KonfiguraceZákladní sazby za tokeny | Tabulka sazebZákladní sazba | Poplatek Vstup · Vstupní tokeny $0.00088 / 1K tokenů Výstup · Výstupní tokeny $0.00264 / 1K tokenů Vstup · Čtení z mezipaměti $0.000028 / 1K tokenů Vstup · Zápis do mezipaměti $0 / 1K tokenů Vstup · Zápis do mezipaměti, 1 hodina — / 1K tokenů |
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í →
Příklady požadavků
Ailoot Ultra · Anthropic Messages
{
"model": "deepseek/deepseek-v4-flash-vision-exp",
"max_tokens": 128,
"messages": [
{
"role": "user",
"content": "Summarize the incident report."
}
],
"stream": false
}set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json, os
from pathlib import Path
source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
raise SystemExit('Choose a document containing text')
payload = {'model': 'deepseek/deepseek-v4-flash-vision-exp', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
Path('request.json').write_text(json.dumps(payload, ensure_ascii=False), encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \
-H "x-api-key: $AILOOT_API_KEY" -H 'anthropic-version: 2023-06-01' -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
PY_RESULT
import json, os
from pathlib import Path
source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
raise SystemExit('Choose a document containing text')
payload = {'model': 'deepseek/deepseek-v4-flash-vision-exp', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
from urllib.request import Request, urlopen
from urllib.error import HTTPError
api_key = os.environ['AILOOT_API_KEY']
if not api_key.strip():
raise SystemExit('Set AILOOT_API_KEY before making a request')
headers = {'x-api-key': 'PLACEHOLDER_KEY', 'anthropic-version': '2023-06-01', 'Content-Type': 'application/json'}
headers['x-api-key'] = api_key
request = Request('https://api.ailoot.ai/v1/messages', data=json.dumps(payload, ensure_ascii=False).encode('utf-8'), headers=headers, method='POST')
try:
with urlopen(request, timeout=120) as response:
raw = response.read()
Path('response-headers.txt').write_text(str(response.headers), encoding='utf-8')
except HTTPError as error:
Path('result.json').write_bytes(error.read())
Path('response-headers.txt').write_text(str(error.headers), encoding='utf-8')
raise
Path('result.json').write_bytes(raw)
import json
from pathlib import Path
result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
Přijímání a ukládání výsledků
Ailoot Ultra · Anthropic Messages
JSON nebo SSE
Uchovejte všechny dokončené výsledky
Uchovejte každou úplnou vrácenou odpověď, soubor i část obsahu.
Zachovejte všechny bloky obsahu, podpisy uvažování a skutečná ID použití nástrojů. Sestavte všechny přírůstky bloků SSE; první textový blok není úplný výstup.
Pokud je nutné ověřit původní odpověď
Zachovejte ID požadavků/odpovědí a hlavičky. Není dodána obecná URL pro načtení textové úlohy.
Pole odpovědi
| Pole | Typ |
|---|---|
Poleid | Typstring |
Polemodel | Typstring |
Polecontent[] | Typtext|thinking|tool_use|other content block |
Polestop_reason | Typstring|null |
Poleusage | Typobject |
Chyby a další kroky
| Odpověď | Podmínka | Další krok |
|---|---|---|
Odpověď400 · invalid_request_error | PodmínkaNeplatná povinná pole, reprezentace podkladů nebo hodnota parametru | Další krokPřed novým požadavkem na vytvoření opravte uvedená pole. |
Aliasy
Aliasy modelu
Ailoot Ultra deepseek/deepseek-v4-flash-vision-exp
Aliasy cest metod
/chat/completions
Související ID modelů
FAQ · DeepSeek: DeepSeek V4 Flash Vision Exp
- Jaké vstupy a výsledky jsou dostupné?
POST /v1/chat/completions·deepseek/deepseek-v4-flash-vision-exp:text→textPOST /v1/messages·deepseek/deepseek-v4-flash-vision-exp:text→json,sse- Jaká pole požadavek používá?
POST /v1/chat/completions·deepseek/deepseek-v4-flash-vision-exp:model,messages,streamPOST /v1/messages·deepseek/deepseek-v4-flash-vision-exp:model,messages,max_tokens,stream- Jaké limity platí?
POST /v1/chat/completions·deepseek/deepseek-v4-flash-vision-exp:messages.min_items:1