{"serveDecision":{"state":"UNKNOWN","authority":"live-serve-decision"},"downloadable":null,"downloadReady":null,"degraded":false,"stale":false,"schemaVersion":"hugging-bay.local-kit.v2","displayOnly":true,"authorizationRequired":true,"eligibilitySnapshotAt":"2026-10-28T10:44:34.002Z","generatedAt":"2026-10-28T10:47:15.166Z","status":"runnable-bundle-recipe","commandsAvailable":true,"commands":[{"tool":"lm-studio","label":"LM Studio (no terminal)","kind":"gui-walkthrough","guiProven":false,"command":"Open LM Studio, then drag the downloaded 'SpeakoFlow-Mini-0.8B-Q4_K_M.gguf' into My Models to load it.","note":"A walk-through for your machine, not a checked run path — these steps are guidance, never a promise it will run. LM Studio's own UI takes it from there.","prefilledFrom":{"file":"SpeakoFlow-Mini-0.8B-Q4_K_M.gguf","templateSha256":"273d8e0e683b885071fb17e08d71e5f2a5ddfb5309756181681de4f5a1822d80","sha256":"530e0a5d4e9314e3bae2c92aecf3ab39ca48e8cfecac41372058f9fcb742329d"},"guideCheckedAt":"2026-09-22","guideCheckedBy":"hugging-bay-docs","guideVersion":5},{"tool":"ollama","label":"Ollama","note":"Builds a local Ollama model named \"speakoflow-mini-0.8b-q4_k_m\" from the file (Ollama imports the file's embedded chat template) and starts a chat.","prefilledFrom":{"file":"SpeakoFlow-Mini-0.8B-Q4_K_M.gguf","templateSha256":"273d8e0e683b885071fb17e08d71e5f2a5ddfb5309756181681de4f5a1822d80","sha256":"530e0a5d4e9314e3bae2c92aecf3ab39ca48e8cfecac41372058f9fcb742329d"},"guideCheckedAt":"2026-09-22","guideCheckedBy":"hugging-bay-docs","guideVersion":5},{"tool":"llama.cpp","label":"llama.cpp (terminal)","kind":"terminal","proven":true,"note":"Runs the file directly with llama.cpp's command-line tool. -st (--single-turn) runs one turn with the model's embedded chat template and exits — tested on llama.cpp b10964-b29c606e2. The old -no-cnv flag was removed and is rejected by current builds.","runner":{"name":"llama.cpp","testedBuild":"b10964-b29c606e2","singleTurnFlag":"-st"},"prefilledFrom":{"file":"SpeakoFlow-Mini-0.8B-Q4_K_M.gguf","templateSha256":"273d8e0e683b885071fb17e08d71e5f2a5ddfb5309756181681de4f5a1822d80","sha256":"530e0a5d4e9314e3bae2c92aecf3ab39ca48e8cfecac41372058f9fcb742329d"},"guideCheckedAt":"2026-09-22","guideCheckedBy":"hugging-bay-docs","guideVersion":5},{"tool":"python","label":"Python (llama-cpp-python)","command":"pip install llama-cpp-python && python -c 'from llama_cpp import Llama; llm = Llama(\"./SpeakoFlow-Mini-0.8B-Q4_K_M.gguf\", n_ctx=8192); print(llm.create_chat_completion(messages=[{'\\''role'\\'': '\\''user'\\'', '\\''content'\\'': '\\''Hello!'\\''}])['\\''choices'\\''][0]['\\''message'\\'']['\\''content'\\''])'","note":"For scripting the model from Python; create_chat_completion applies the embedded chat template.","prefilledFrom":{"file":"SpeakoFlow-Mini-0.8B-Q4_K_M.gguf","templateSha256":"273d8e0e683b885071fb17e08d71e5f2a5ddfb5309756181681de4f5a1822d80","sha256":"530e0a5d4e9314e3bae2c92aecf3ab39ca48e8cfecac41372058f9fcb742329d"},"guideCheckedAt":"2026-09-22","guideCheckedBy":"hugging-bay-docs","guideVersion":5}],"runBlockKind":"hosted-file-recipe","chatContract":{"available":true,"source":"gguf-metadata:tokenizer.chat_template","sourceFileSha256":"530e0a5d4e9314e3bae2c92aecf3ab39ca48e8cfecac41372058f9fcb742329d","templateSha256":"273d8e0e683b885071fb17e08d71e5f2a5ddfb5309756181681de4f5a1822d80","templateText":"{%- set image_count = namespace(value=0) %}\n{%- set video_count = namespace(value=0) %}\n{%- macro render_content(content, do_vision_count, is_system_content=false) %}\n    {%- if content is string %}\n        {{- content }}\n    {%- elif content is iterable and content is not mapping %}\n        {%- for item in content %}\n            {%- if 'image' in item or 'image_url' in item or item.type == 'image' %}\n                {%- if is_system_content %}\n                    {{- raise_exception('System message cannot contain images.') }}\n                {%- endif %}\n                {%- if do_vision_count %}\n                    {%- set image_count.value = image_count.value + 1 %}\n                {%- endif %}\n                {%- if add_vision_id %}\n                    {{- 'Picture ' ~ image_count.value ~ ': ' }}\n                {%- endif %}\n                {{- '<|vision_start|><|image_pad|><|vision_end|>' }}\n            {%- elif 'video' in item or item.type == 'video' %}\n                {%- if is_system_content %}\n                    {{- raise_exception('System message cannot contain videos.') }}\n                {%- endif %}\n                {%- if do_vision_count %}\n                    {%- set video_count.value = video_count.value + 1 %}\n                {%- endif %}\n                {%- if add_vision_id %}\n                    {{- 'Video ' ~ video_count.value ~ ': ' }}\n                {%- endif %}\n                {{- '<|vision_start|><|video_pad|><|vision_end|>' }}\n            {%- elif 'text' in item %}\n                {{- item.text }}\n            {%- else %}\n                {{- raise_exception('Unexpected item type in content.') }}\n            {%- endif %}\n        {%- endfor %}\n    {%- elif content is none or content is undefined %}\n        {{- '' }}\n    {%- else %}\n        {{- raise_exception('Unexpected content type.') }}\n    {%- endif %}\n{%- endmacro %}\n{%- if not messages %}\n    {{- raise_exception('No messages provided.') }}\n{%- endif %}\n{%- if tools and tools is iterable and tools is not mapping %}\n    {{- '<|im_start|>system\\n' }}\n    {{- \"# Tools\\n\\nYou have access to the following functions:\\n\\n<tools>\" }}\n    {%- for tool in tools %}\n        {{- \"\\n\" }}\n        {{- tool | tojson }}\n    {%- endfor %}\n    {{- \"\\n</tools>\" }}\n    {{- '\\n\\nIf you choose to call a function ONLY reply in the following format with NO suffix:\\n\\n<tool_call>\\n<function=example_function_name>\\n<parameter=example_parameter_1>\\nvalue_1\\n</parameter>\\n<parameter=example_parameter_2>\\nThis is the value for the second parameter\\nthat can span\\nmultiple lines\\n</parameter>\\n</function>\\n</tool_call>\\n\\n<IMPORTANT>\\nReminder:\\n- Function calls MUST follow the specified format: an inner <function=...></function> block must be nested within <tool_call></tool_call> XML tags\\n- Required parameters MUST be specified\\n- You may provide optional reasoning for your function call in natural language BEFORE the function call, but NOT after\\n- If there is no function call available, answer the question like normal with your current knowledge and do not tell the user about function calls\\n</IMPORTANT>' }}\n    {%- if messages[0].role == 'system' %}\n        {%- set content = render_content(messages[0].content, false, true)|trim %}\n        {%- if content %}\n            {{- '\\n\\n' + content }}\n        {%- endif %}\n    {%- endif %}\n    {{- '<|im_end|>\\n' }}\n{%- else %}\n    {%- if messages[0].role == 'system' %}\n        {%- set content = render_content(messages[0].content, false, true)|trim %}\n        {{- '<|im_start|>system\\n' + content + '<|im_end|>\\n' }}\n    {%- endif %}\n{%- endif %}\n{%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}\n{%- for message in messages[::-1] %}\n    {%- set index = (messages|length - 1) - loop.index0 %}\n    {%- if ns.multi_step_tool and message.role == \"user\" %}\n        {%- set content = render_content(message.content, false)|trim %}\n        {%- if not(content.startswith('<tool_response>') and content.endswith('</tool_response>')) %}\n            {%- set ns.multi_step_tool = false %}\n            {%- set ns.last_query_index = index %}\n        {%- endif %}\n    {%- endif %}\n{%- endfor %}\n{%- if ns.multi_step_tool %}\n    {{- raise_exception('No user query found in messages.') }}\n{%- endif %}\n{%- for message in messages %}\n    {%- set content = render_content(message.content, true)|trim %}\n    {%- if message.role == \"system\" %}\n        {%- if not loop.first %}\n            {{- raise_exception('System message must be at the beginning.') }}\n        {%- endif %}\n    {%- elif message.role == \"user\" %}\n        {{- '<|im_start|>' + message.role + '\\n' + content + '<|im_end|>' + '\\n' }}\n    {%- elif message.role == \"assistant\" %}\n        {%- set reasoning_content = '' %}\n        {%- if message.reasoning_content is string %}\n            {%- set reasoning_content = message.reasoning_content %}\n        {%- else %}\n            {%- if '</think>' in content %}\n                {%- set reasoning_content = content.split('</think>')[0].rstrip('\\n').split('<think>')[-1].lstrip('\\n') %}\n                {%- set content = content.split('</think>')[-1].lstrip('\\n') %}\n            {%- endif %}\n        {%- endif %}\n        {%- set reasoning_content = reasoning_content|trim %}\n        {%- if loop.index0 > ns.last_query_index %}\n            {{- '<|im_start|>' + message.role + '\\n<think>\\n' + reasoning_content + '\\n</think>\\n\\n' + content }}\n        {%- else %}\n            {{- '<|im_start|>' + message.role + '\\n' + content }}\n        {%- endif %}\n        {%- if message.tool_calls and message.tool_calls is iterable and message.tool_calls is not mapping %}\n            {%- for tool_call in message.tool_calls %}\n                {%- if tool_call.function is defined %}\n                    {%- set tool_call = tool_call.function %}\n                {%- endif %}\n                {%- if loop.first %}\n                    {%- if content|trim %}\n                        {{- '\\n\\n<tool_call>\\n<function=' + tool_call.name + '>\\n' }}\n                    {%- else %}\n                        {{- '<tool_call>\\n<function=' + tool_call.name + '>\\n' }}\n                    {%- endif %}\n                {%- else %}\n                    {{- '\\n<tool_call>\\n<function=' + tool_call.name + '>\\n' }}\n                {%- endif %}\n                {%- if tool_call.arguments is defined %}\n                    {%- for args_name, args_value in tool_call.arguments|items %}\n                        {{- '<parameter=' + args_name + '>\\n' }}\n                        {%- set args_value = args_value | tojson | safe if args_value is mapping or (args_value is sequence and args_value is not string) else args_value | string %}\n                        {{- args_value }}\n                        {{- '\\n</parameter>\\n' }}\n                    {%- endfor %}\n                {%- endif %}\n                {{- '</function>\\n</tool_call>' }}\n            {%- endfor %}\n        {%- endif %}\n        {{- '<|im_end|>\\n' }}\n    {%- elif message.role == \"tool\" %}\n        {%- if loop.previtem and loop.previtem.role != \"tool\" %}\n            {{- '<|im_start|>user' }}\n        {%- endif %}\n        {{- '\\n<tool_response>\\n' }}\n        {{- content }}\n        {{- '\\n</tool_response>' }}\n        {%- if not loop.last and loop.nextitem.role != \"tool\" %}\n            {{- '<|im_end|>\\n' }}\n        {%- elif loop.last %}\n            {{- '<|im_end|>\\n' }}\n        {%- endif %}\n    {%- else %}\n        {{- raise_exception('Unexpected message role.') }}\n    {%- endif %}\n{%- endfor %}\n{%- if add_generation_prompt %}\n    {{- '<|im_start|>assistant\\n' }}\n    {%- if enable_thinking is defined and enable_thinking is true %}\n        {{- '<think>\\n' }}\n    {%- else %}\n        {{- '<think>\\n\\n</think>\\n\\n' }}\n    {%- endif %}\n{%- endif %}","extractedAt":"2026-09-24","extractionStage":"ingest.template-extract/v1","architecture":"qwen35","contextLength":262144,"stop":["<|im_end|>"],"thinking":{"mode":"delimited","open":"<think>","close":"</think>"}},"artifact":{"id":"hf-model-speakoflow-speakoflow-mini","repo":"SpeakoFlow/speakoflow-mini","type":"llm","summary":"Model from Hugging Face for text generation: SpeakoFlow/speakoflow-mini · unknown","license":"apache-2.0","hostingStatus":"hosted","hostedFileCount":1,"hostedFileCountAuthority":"live-serve-decision","displayFileCount":1,"fileCount":14,"upstreamUrl":"https://huggingface.co/SpeakoFlow/speakoflow-mini"},"tool":"any","toolCompatibility":{"status":"unknown","reason":"recorded-evaluator-not-integrated"},"readiness":"unknown","requiredFiles":[{"path":".gitattributes","sizeBytes":2275,"sha256":"","format":"gitattributes","risk":"low","sourceKind":"external-hf","hosted":false,"readiness":"blocked","downloadReady":false,"reasonCodes":["NOT_SERVE_ELIGIBLE"],"reason":"This file is not available to download right now.","individuallyHashed":false,"fileOnly":true,"directDownloadAuthorized":false,"serveDecision":{"state":"BLOCKED","reasonCodes":["NOT_SERVE_ELIGIBLE"]},"downloadUrlResponse":{"status":302,"followRedirects":true},"downloadUrl":null,"chatTemplate":null,"serve_verdict":{"can_download":false,"bytes_verified":false,"signature":"unsigned","freshness":"stale","checked_at":null,"evidence_url":"/api/manifests/hf-model-speakoflow-speakoflow-mini"},"signature_state":"unsigned"},{"path":"README.md","sizeBytes":19408,"sha256":"","format":"md","risk":"low","sourceKind":"external-hf","hosted":false,"readiness":"blocked","downloadReady":false,"reasonCodes":["NOT_SERVE_ELIGIBLE"],"reason":"This file is not available to download right now.","individuallyHashed":false,"fileOnly":true,"directDownloadAuthorized":false,"serveDecision":{"state":"BLOCKED","reasonCodes":["NOT_SERVE_ELIGIBLE"]},"downloadUrlResponse":{"status":302,"followRedirects":true},"downloadUrl":null,"chatTemplate":null,"serve_verdict":{"can_download":false,"bytes_verified":false,"signature":"unsigned","freshness":"stale","checked_at":null,"evidence_url":"/api/manifests/hf-model-speakoflow-speakoflow-mini"},"signature_state":"unsigned"},{"path":"SpeakoFlow-Mini-0.8B-BF16.gguf","sizeBytes":1557662176,"sha256":"0b62e20d2a411d2a08880422ca604cb312c51772e9f9a18b504b94e9695abcdb","format":"gguf","risk":"low","sourceKind":"external-hf","hosted":false,"readiness":"blocked","downloadReady":false,"reasonCodes":["NOT_SERVE_ELIGIBLE"],"reason":"This file is not available to download right now.","individuallyHashed":true,"fileOnly":true,"directDownloadAuthorized":false,"serveDecision":{"state":"BLOCKED","reasonCodes":["NOT_SERVE_ELIGIBLE"]},"downloadUrlResponse":{"status":302,"followRedirects":true},"downloadUrl":null,"chatTemplate":null,"serve_verdict":{"can_download":false,"bytes_verified":false,"signature":"unsigned","freshness":"stale","checked_at":null,"evidence_url":"/api/manifests/hf-model-speakoflow-speakoflow-mini"},"signature_state":"unsigned"},{"path":"SpeakoFlow-Mini-0.8B-Q4_K_M.gguf","sizeBytes":541903616,"sha256":"530e0a5d4e9314e3bae2c92aecf3ab39ca48e8cfecac41372058f9fcb742329d","format":"gguf","risk":"low","sourceKind":"mirrored-upstream","hosted":true,"readiness":"unknown","downloadReady":null,"reasonCodes":[],"reason":"Hosted on Hugging Bay and byte-verified — download is available now.","individuallyHashed":true,"fileOnly":true,"directDownloadAuthorized":true,"serveDecision":{"state":"UNKNOWN","reasonCodes":[]},"downloadUrlResponse":{"status":302,"followRedirects":true},"downloadUrl":"https://huggingbay.xyz/api/downloads/hf-model-speakoflow-speakoflow-mini/SpeakoFlow-Mini-0.8B-Q4_K_M.gguf","chatTemplate":{"artifactId":"hf-model-speakoflow-speakoflow-mini","filePath":"SpeakoFlow-Mini-0.8B-Q4_K_M.gguf","sha256":"530e0a5d4e9314e3bae2c92aecf3ab39ca48e8cfecac41372058f9fcb742329d","architecture":"qwen35","generalName":"Model","tokenizerModel":"gpt2","contextLength":262144,"bos":null,"eos":"<|im_end|>","stop":["<|im_end|>"],"thinking":{"mode":"delimited","open":"<think>","close":"</think>"},"chatTemplate":"{%- set image_count = namespace(value=0) %}\n{%- set video_count = namespace(value=0) %}\n{%- macro render_content(content, do_vision_count, is_system_content=false) %}\n    {%- if content is string %}\n        {{- content }}\n    {%- elif content is iterable and content is not mapping %}\n        {%- for item in content %}\n            {%- if 'image' in item or 'image_url' in item or item.type == 'image' %}\n                {%- if is_system_content %}\n                    {{- raise_exception('System message cannot contain images.') }}\n                {%- endif %}\n                {%- if do_vision_count %}\n                    {%- set image_count.value = image_count.value + 1 %}\n                {%- endif %}\n                {%- if add_vision_id %}\n                    {{- 'Picture ' ~ image_count.value ~ ': ' }}\n                {%- endif %}\n                {{- '<|vision_start|><|image_pad|><|vision_end|>' }}\n            {%- elif 'video' in item or item.type == 'video' %}\n                {%- if is_system_content %}\n                    {{- raise_exception('System message cannot contain videos.') }}\n                {%- endif %}\n                {%- if do_vision_count %}\n                    {%- set video_count.value = video_count.value + 1 %}\n                {%- endif %}\n                {%- if add_vision_id %}\n                    {{- 'Video ' ~ video_count.value ~ ': ' }}\n                {%- endif %}\n                {{- '<|vision_start|><|video_pad|><|vision_end|>' }}\n            {%- elif 'text' in item %}\n                {{- item.text }}\n            {%- else %}\n                {{- raise_exception('Unexpected item type in content.') }}\n            {%- endif %}\n        {%- endfor %}\n    {%- elif content is none or content is undefined %}\n        {{- '' }}\n    {%- else %}\n        {{- raise_exception('Unexpected content type.') }}\n    {%- endif %}\n{%- endmacro %}\n{%- if not messages %}\n    {{- raise_exception('No messages provided.') }}\n{%- endif %}\n{%- if tools and tools is iterable and tools is not mapping %}\n    {{- '<|im_start|>system\\n' }}\n    {{- \"# Tools\\n\\nYou have access to the following functions:\\n\\n<tools>\" }}\n    {%- for tool in tools %}\n        {{- \"\\n\" }}\n        {{- tool | tojson }}\n    {%- endfor %}\n    {{- \"\\n</tools>\" }}\n    {{- '\\n\\nIf you choose to call a function ONLY reply in the following format with NO suffix:\\n\\n<tool_call>\\n<function=example_function_name>\\n<parameter=example_parameter_1>\\nvalue_1\\n</parameter>\\n<parameter=example_parameter_2>\\nThis is the value for the second parameter\\nthat can span\\nmultiple lines\\n</parameter>\\n</function>\\n</tool_call>\\n\\n<IMPORTANT>\\nReminder:\\n- Function calls MUST follow the specified format: an inner <function=...></function> block must be nested within <tool_call></tool_call> XML tags\\n- Required parameters MUST be specified\\n- You may provide optional reasoning for your function call in natural language BEFORE the function call, but NOT after\\n- If there is no function call available, answer the question like normal with your current knowledge and do not tell the user about function calls\\n</IMPORTANT>' }}\n    {%- if messages[0].role == 'system' %}\n        {%- set content = render_content(messages[0].content, false, true)|trim %}\n        {%- if content %}\n            {{- '\\n\\n' + content }}\n        {%- endif %}\n    {%- endif %}\n    {{- '<|im_end|>\\n' }}\n{%- else %}\n    {%- if messages[0].role == 'system' %}\n        {%- set content = render_content(messages[0].content, false, true)|trim %}\n        {{- '<|im_start|>system\\n' + content + '<|im_end|>\\n' }}\n    {%- endif %}\n{%- endif %}\n{%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}\n{%- for message in messages[::-1] %}\n    {%- set index = (messages|length - 1) - loop.index0 %}\n    {%- if ns.multi_step_tool and message.role == \"user\" %}\n        {%- set content = render_content(message.content, false)|trim %}\n        {%- if not(content.startswith('<tool_response>') and content.endswith('</tool_response>')) %}\n            {%- set ns.multi_step_tool = false %}\n            {%- set ns.last_query_index = index %}\n        {%- endif %}\n    {%- endif %}\n{%- endfor %}\n{%- if ns.multi_step_tool %}\n    {{- raise_exception('No user query found in messages.') }}\n{%- endif %}\n{%- for message in messages %}\n    {%- set content = render_content(message.content, true)|trim %}\n    {%- if message.role == \"system\" %}\n        {%- if not loop.first %}\n            {{- raise_exception('System message must be at the beginning.') }}\n        {%- endif %}\n    {%- elif message.role == \"user\" %}\n        {{- '<|im_start|>' + message.role + '\\n' + content + '<|im_end|>' + '\\n' }}\n    {%- elif message.role == \"assistant\" %}\n        {%- set reasoning_content = '' %}\n        {%- if message.reasoning_content is string %}\n            {%- set reasoning_content = message.reasoning_content %}\n        {%- else %}\n            {%- if '</think>' in content %}\n                {%- set reasoning_content = content.split('</think>')[0].rstrip('\\n').split('<think>')[-1].lstrip('\\n') %}\n                {%- set content = content.split('</think>')[-1].lstrip('\\n') %}\n            {%- endif %}\n        {%- endif %}\n        {%- set reasoning_content = reasoning_content|trim %}\n        {%- if loop.index0 > ns.last_query_index %}\n            {{- '<|im_start|>' + message.role + '\\n<think>\\n' + reasoning_content + '\\n</think>\\n\\n' + content }}\n        {%- else %}\n            {{- '<|im_start|>' + message.role + '\\n' + content }}\n        {%- endif %}\n        {%- if message.tool_calls and message.tool_calls is iterable and message.tool_calls is not mapping %}\n            {%- for tool_call in message.tool_calls %}\n                {%- if tool_call.function is defined %}\n                    {%- set tool_call = tool_call.function %}\n                {%- endif %}\n                {%- if loop.first %}\n                    {%- if content|trim %}\n                        {{- '\\n\\n<tool_call>\\n<function=' + tool_call.name + '>\\n' }}\n                    {%- else %}\n                        {{- '<tool_call>\\n<function=' + tool_call.name + '>\\n' }}\n                    {%- endif %}\n                {%- else %}\n                    {{- '\\n<tool_call>\\n<function=' + tool_call.name + '>\\n' }}\n                {%- endif %}\n                {%- if tool_call.arguments is defined %}\n                    {%- for args_name, args_value in tool_call.arguments|items %}\n                        {{- '<parameter=' + args_name + '>\\n' }}\n                        {%- set args_value = args_value | tojson | safe if args_value is mapping or (args_value is sequence and args_value is not string) else args_value | string %}\n                        {{- args_value }}\n                        {{- '\\n</parameter>\\n' }}\n                    {%- endfor %}\n                {%- endif %}\n                {{- '</function>\\n</tool_call>' }}\n            {%- endfor %}\n        {%- endif %}\n        {{- '<|im_end|>\\n' }}\n    {%- elif message.role == \"tool\" %}\n        {%- if loop.previtem and loop.previtem.role != \"tool\" %}\n            {{- '<|im_start|>user' }}\n        {%- endif %}\n        {{- '\\n<tool_response>\\n' }}\n        {{- content }}\n        {{- '\\n</tool_response>' }}\n        {%- if not loop.last and loop.nextitem.role != \"tool\" %}\n            {{- '<|im_end|>\\n' }}\n        {%- elif loop.last %}\n            {{- '<|im_end|>\\n' }}\n        {%- endif %}\n    {%- else %}\n        {{- raise_exception('Unexpected message role.') }}\n    {%- endif %}\n{%- endfor %}\n{%- if add_generation_prompt %}\n    {{- '<|im_start|>assistant\\n' }}\n    {%- if enable_thinking is defined and enable_thinking is true %}\n        {{- '<think>\\n' }}\n    {%- else %}\n        {{- '<think>\\n\\n</think>\\n\\n' }}\n    {%- endif %}\n{%- endif %}","templateDigest":"sha256:273d8e0e683b885071fb17e08d71e5f2a5ddfb5309756181681de4f5a1822d80","extractionReason":"embedded-template","extractorVersion":"hugging-bay.gguf-embedded-chat-contract.v1","extractedAt":"2026-09-24T03:51:11.306Z","hasEmbeddedTemplate":true},"serve_verdict":{"can_download":false,"bytes_verified":true,"signature":"unsigned","freshness":"stale","checked_at":null,"evidence_url":"/api/manifests/hf-model-speakoflow-speakoflow-mini"},"signature_state":"unsigned"},{"path":"SpeakoFlow-Mini-0.8B-Q5_K_M.gguf","sizeBytes":592636672,"sha256":"86b0dae21fd752edf304f5ff71ec7fe7b8eb812ece28a512df47a3963c6e2aa6","format":"gguf","risk":"low","sourceKind":"external-hf","hosted":false,"readiness":"blocked","downloadReady":false,"reasonCodes":["NOT_SERVE_ELIGIBLE"],"reason":"This file is not available to download right now.","individuallyHashed":true,"fileOnly":true,"directDownloadAuthorized":false,"serveDecision":{"state":"BLOCKED","reasonCodes":["NOT_SERVE_ELIGIBLE"]},"downloadUrlResponse":{"status":302,"followRedirects":true},"downloadUrl":null,"chatTemplate":null,"serve_verdict":{"can_download":false,"bytes_verified":false,"signature":"unsigned","freshness":"stale","checked_at":null,"evidence_url":"/api/manifests/hf-model-speakoflow-speakoflow-mini"},"signature_state":"unsigned"},{"path":"SpeakoFlow-Mini-0.8B-Q6_K.gguf","sizeBytes":646540544,"sha256":"bc2c740a960718c804e1ca8e2abb49fa01242facaac7125760b3f5e1dbbe2cec","format":"gguf","risk":"low","sourceKind":"external-hf","hosted":false,"readiness":"blocked","downloadReady":false,"reasonCodes":["NOT_SERVE_ELIGIBLE"],"reason":"This file is not available to download right now.","individuallyHashed":true,"fileOnly":true,"directDownloadAuthorized":false,"serveDecision":{"state":"BLOCKED","reasonCodes":["NOT_SERVE_ELIGIBLE"]},"downloadUrlResponse":{"status":302,"followRedirects":true},"downloadUrl":null,"chatTemplate":null,"serve_verdict":{"can_download":false,"bytes_verified":false,"signature":"unsigned","freshness":"stale","checked_at":null,"evidence_url":"/api/manifests/hf-model-speakoflow-speakoflow-mini"},"signature_state":"unsigned"},{"path":"SpeakoFlow-Mini-0.8B-Q8_0.gguf","sizeBytes":833591776,"sha256":"696769bb6911f51bc231b112926e934cf7bfc760e6cdfa24212907bc5ad41fc9","format":"gguf","risk":"low","sourceKind":"external-hf","hosted":false,"readiness":"blocked","downloadReady":false,"reasonCodes":["NOT_SERVE_ELIGIBLE"],"reason":"This file is not available to download right now.","individuallyHashed":true,"fileOnly":true,"directDownloadAuthorized":false,"serveDecision":{"state":"BLOCKED","reasonCodes":["NOT_SERVE_ELIGIBLE"]},"downloadUrlResponse":{"status":302,"followRedirects":true},"downloadUrl":null,"chatTemplate":null,"serve_verdict":{"can_download":false,"bytes_verified":false,"signature":"unsigned","freshness":"stale","checked_at":null,"evidence_url":"/api/manifests/hf-model-speakoflow-speakoflow-mini"},"signature_state":"unsigned"},{"path":"examples.jsonl","sizeBytes":4697,"sha256":"","format":"jsonl","risk":"low","sourceKind":"external-hf","hosted":false,"readiness":"blocked","downloadReady":false,"reasonCodes":["NOT_SERVE_ELIGIBLE"],"reason":"This file is not available to download right now.","individuallyHashed":false,"fileOnly":true,"directDownloadAuthorized":false,"serveDecision":{"state":"BLOCKED","reasonCodes":["NOT_SERVE_ELIGIBLE"]},"downloadUrlResponse":{"status":302,"followRedirects":true},"downloadUrl":null,"chatTemplate":null,"serve_verdict":{"can_download":false,"bytes_verified":false,"signature":"unsigned","freshness":"stale","checked_at":null,"evidence_url":"/api/manifests/hf-model-speakoflow-speakoflow-mini"},"signature_state":"unsigned"},{"path":"figures/01-scorecard.png","sizeBytes":366510,"sha256":"5aadd7a1c532915df0ffe209a39e4939112c681b70f2ee9b9dbc3700a6f68410","format":"png","risk":"low","sourceKind":"external-hf","hosted":false,"readiness":"blocked","downloadReady":false,"reasonCodes":["NOT_SERVE_ELIGIBLE"],"reason":"This file is not available to download right now.","individuallyHashed":true,"fileOnly":true,"directDownloadAuthorized":false,"serveDecision":{"state":"BLOCKED","reasonCodes":["NOT_SERVE_ELIGIBLE"]},"downloadUrlResponse":{"status":302,"followRedirects":true},"downloadUrl":null,"chatTemplate":null,"serve_verdict":{"can_download":false,"bytes_verified":false,"signature":"unsigned","freshness":"stale","checked_at":null,"evidence_url":"/api/manifests/hf-model-speakoflow-speakoflow-mini"},"signature_state":"unsigned"},{"path":"figures/02-ranking.png","sizeBytes":264390,"sha256":"50a8245451ecbe593bedbfd7b22f764abfce95891e52839e80f9ea92f6169db5","format":"png","risk":"low","sourceKind":"external-hf","hosted":false,"readiness":"blocked","downloadReady":false,"reasonCodes":["NOT_SERVE_ELIGIBLE"],"reason":"This file is not available to download right now.","individuallyHashed":true,"fileOnly":true,"directDownloadAuthorized":false,"serveDecision":{"state":"BLOCKED","reasonCodes":["NOT_SERVE_ELIGIBLE"]},"downloadUrlResponse":{"status":302,"followRedirects":true},"downloadUrl":null,"chatTemplate":null,"serve_verdict":{"can_download":false,"bytes_verified":false,"signature":"unsigned","freshness":"stale","checked_at":null,"evidence_url":"/api/manifests/hf-model-speakoflow-speakoflow-mini"},"signature_state":"unsigned"},{"path":"figures/03-two-axes.png","sizeBytes":236423,"sha256":"932ef28d55d8695067372e03126b1a33500f2a39d91b61e0a7c506c478c2b066","format":"png","risk":"low","sourceKind":"external-hf","hosted":false,"readiness":"blocked","downloadReady":false,"reasonCodes":["NOT_SERVE_ELIGIBLE"],"reason":"This file is not available to download right now.","individuallyHashed":true,"fileOnly":true,"directDownloadAuthorized":false,"serveDecision":{"state":"BLOCKED","reasonCodes":["NOT_SERVE_ELIGIBLE"]},"downloadUrlResponse":{"status":302,"followRedirects":true},"downloadUrl":null,"chatTemplate":null,"serve_verdict":{"can_download":false,"bytes_verified":false,"signature":"unsigned","freshness":"stale","checked_at":null,"evidence_url":"/api/manifests/hf-model-speakoflow-speakoflow-mini"},"signature_state":"unsigned"},{"path":"figures/04-length.png","sizeBytes":369865,"sha256":"aff9ca2fb55468e4782aafbca2e145c0e05366216512f098dc47338228235b5f","format":"png","risk":"low","sourceKind":"external-hf","hosted":false,"readiness":"blocked","downloadReady":false,"reasonCodes":["NOT_SERVE_ELIGIBLE"],"reason":"This file is not available to download right now.","individuallyHashed":true,"fileOnly":true,"directDownloadAuthorized":false,"serveDecision":{"state":"BLOCKED","reasonCodes":["NOT_SERVE_ELIGIBLE"]},"downloadUrlResponse":{"status":302,"followRedirects":true},"downloadUrl":null,"chatTemplate":null,"serve_verdict":{"can_download":false,"bytes_verified":false,"signature":"unsigned","freshness":"stale","checked_at":null,"evidence_url":"/api/manifests/hf-model-speakoflow-speakoflow-mini"},"signature_state":"unsigned"},{"path":"figures/05-fine-tuning.png","sizeBytes":314804,"sha256":"fa2eae4184015ae3a3a921b07cea730f19b3f1e6d389f6f1a547e9c2fbe43c58","format":"png","risk":"low","sourceKind":"external-hf","hosted":false,"readiness":"blocked","downloadReady":false,"reasonCodes":["NOT_SERVE_ELIGIBLE"],"reason":"This file is not available to download right now.","individuallyHashed":true,"fileOnly":true,"directDownloadAuthorized":false,"serveDecision":{"state":"BLOCKED","reasonCodes":["NOT_SERVE_ELIGIBLE"]},"downloadUrlResponse":{"status":302,"followRedirects":true},"downloadUrl":null,"chatTemplate":null,"serve_verdict":{"can_download":false,"bytes_verified":false,"signature":"unsigned","freshness":"stale","checked_at":null,"evidence_url":"/api/manifests/hf-model-speakoflow-speakoflow-mini"},"signature_state":"unsigned"},{"path":"hf-banner-1600x500.png","sizeBytes":434675,"sha256":"6041eb61abc28fe90ef4840667bfd46cddcf01bf42fc14b1cec5d3a5bf2d6dc7","format":"png","risk":"low","sourceKind":"external-hf","hosted":false,"readiness":"blocked","downloadReady":false,"reasonCodes":["NOT_SERVE_ELIGIBLE"],"reason":"This file is not available to download right now.","individuallyHashed":true,"fileOnly":true,"directDownloadAuthorized":false,"serveDecision":{"state":"BLOCKED","reasonCodes":["NOT_SERVE_ELIGIBLE"]},"downloadUrlResponse":{"status":302,"followRedirects":true},"downloadUrl":null,"chatTemplate":null,"serve_verdict":{"can_download":false,"bytes_verified":false,"signature":"unsigned","freshness":"stale","checked_at":null,"evidence_url":"/api/manifests/hf-model-speakoflow-speakoflow-mini"},"signature_state":"unsigned"}],"warnings":["This description is temporarily unavailable."],"nextActions":[{"label":"Inspect recorded bundle state","url":"https://huggingbay.xyz/api/artifacts/hf-model-speakoflow-speakoflow-mini/bundle","method":"GET"},{"label":"List individually hashed hosted files","url":"https://huggingbay.xyz/api/downloadable-files?artifactId=hf-model-speakoflow-speakoflow-mini&limit=100","method":"GET"},{"label":"Inspect trust bundle","url":"https://huggingbay.xyz/api/trust-bundles/hf-model-speakoflow-speakoflow-mini","method":"GET"},{"label":"Open artifact","url":"https://huggingbay.xyz/artifact/hf-model-speakoflow-speakoflow-mini","method":"GET"}],"docs":{"artifactUrl":"https://huggingbay.xyz/artifact/hf-model-speakoflow-speakoflow-mini","downloadsUrl":"https://huggingbay.xyz/api/downloadable-files?artifactId=hf-model-speakoflow-speakoflow-mini&limit=100","bundleUrl":"https://huggingbay.xyz/api/artifacts/hf-model-speakoflow-speakoflow-mini/bundle","trustBundleUrl":"https://huggingbay.xyz/api/trust-bundles/hf-model-speakoflow-speakoflow-mini"},"note":{"summary":"Downloadable doesn't mean tested: this record says whether the exact file can be downloaded now, not that the model is complete or that it runs.","downloadable":true},"serve_verdict":{"can_download":false,"bytes_verified":false,"signature":"unsigned","freshness":"stale","checked_at":null,"evidence_url":"/api/manifests/hf-model-speakoflow-speakoflow-mini"}}