{ "model_id": "fireworks/ember-1", "provider_id": "fireworks", "name": "Ember-1", "description": "Fireworks' Ember-1 is a specialized long-context multimodal reasoning model built on Kimi K3. It produces shorter reasoning traces using approximately 40% fewer tokens while maintaining comparable quality across Fireworks' evaluations.", "task": "Text Generation", "tags": [ "LLM", "Reasoning", "Multimodal", "Function Calling", "Long Context" ], "context_length": 1040000, "max_output_tokens": null, "schema_version": "1.0.0", "pricing": { "Input tokens (per 1M)": 3, "Cached input tokens (per 1M)": 0.3, "Output tokens (per 1M)": 15 }, "examples": [ { "name": "Reasoning", "description": "Solve a focused reasoning problem", "input": { "messages": [ { "content": "A library has 240 books. One quarter are checked out, and one third of the remaining books are reserved. How many books are available for browsing? Show the calculation briefly.", "role": "user" } ], "max_tokens": 256 }, "output": { "text": "**Solution:**\n\n- Checked out: 240 \u00d7 \u00bc = 60 books\n- Remaining: 240 \u2212 60 = 180 books\n- Reserved: 180 \u00d7 \u2153 = 60 books\n- Available: 180 \u2212 60 = **120 books**" }, "raw_response": { "id": "chatcmpl-6f6f6ab7d28e4ec78bac38d4c6f595b8", "object": "chat.completion", "created": 1790686126, "model": "accounts/fireworks/models/ember-1", "choices": [ { "index": 0, "message": { "role": "assistant", "content": "**Solution:**\n\n- Checked out: 240 \u00d7 \u00bc = 60 books\n- Remaining: 240 \u2212 60 = 180 books\n- Reserved: 180 \u00d7 \u2153 = 60 books\n- Available: 180 \u2212 60 = **120 books**", "reasoning_content": "Total books: 240\nChecked out: 1/4 \u00d7 240 = 60\nRemaining: 240 - 60 = 180\nReserved: 1/3 \u00d7 180 = 60\nAvailable: 180 - 60 = 120", "tools": null }, "finish_reason": "stop" } ], "usage": { "prompt_tokens": 124, "total_tokens": 249, "completion_tokens": 125, "prompt_tokens_details": { "cached_tokens": 0 }, "completion_tokens_details": { "reasoning_tokens": 54 }, "output_tokens_details": { "reasoning_tokens": 54 } } }, "code_snippets": [ { "label": "typescript", "language": "typescript", "code": "const response = await env.AI.run(\n 'fireworks/ember-1',\n {\n messages: [\n {\n content:\n 'A library has 240 books. One quarter are checked out, and one third of the remaining books are reserved. How many books are available for browsing? Show the calculation briefly.',\n role: 'user',\n },\n ],\n max_tokens: 256,\n },\n)\nconsole.log(response)" }, { "label": "curl", "language": "bash", "code": "curl https://api.cloudflare.com/client/v4/accounts/$CLOUDFLARE_ACCOUNT_ID/ai/v1/chat/completions \\\n --header \"Authorization: Bearer $CLOUDFLARE_API_TOKEN\" \\\n --header \"Content-Type: application/json\" \\\n --data '{\n \"model\": \"fireworks/ember-1\",\n \"messages\": [\n {\n \"content\": \"A library has 240 books. One quarter are checked out, and one third of the remaining books are reserved. How many books are available for browsing? Show the calculation briefly.\",\n \"role\": \"user\"\n }\n ],\n \"max_tokens\": 256\n}'" } ] }, { "name": "Function Calling", "description": "Use a function tool to produce structured arguments", "input": { "messages": [ { "content": "Schedule a 30-minute meeting with Alex tomorrow at 10 AM.", "role": "user" } ], "tool_choice": "required", "tools": [ { "function": { "description": "Schedule a calendar meeting", "name": "schedule_meeting", "parameters": { "additionalProperties": false, "properties": { "duration_minutes": { "type": "integer" }, "participant": { "type": "string" }, "start_time": { "type": "string" } }, "required": [ "participant", "start_time", "duration_minutes" ], "type": "object" }, "strict": true }, "type": "function" } ] }, "output": { "text": "I'll schedule that meeting for you." }, "raw_response": { "id": "chatcmpl-3ad7285ed64246499743d8485debc15f", "object": "chat.completion", "created": 1790686129, "model": "accounts/fireworks/models/ember-1", "choices": [ { "index": 0, "message": { "role": "assistant", "content": "I'll schedule that meeting for you.", "reasoning_content": "The user wants to schedule a 30-minute meeting with Alex tomorrow at 10 AM. However, I don't know today's date. The schedule_meeting function requires a start_time in a specific format, but I don't know the current date.\n\nI need to figure out what \"tomorrow\" means. Since I don't have access to the current date, I should probably make a reasonable assumption or ask. But the tool_choice=required means I must call tools.\n\nWait, let me think about this. The instruction says I MUST call tools in the next message. The schedule_meeting tool needs start_time. I don't know the exact date. \n\nI could provide a start_time like \"tomorrow at 10 AM\" but the parameter likely expects a datetime string. Without knowing today's date, I cannot accurately compute tomorrow's date.\n\nHowever, given the constraint that I must call tools, I'll need to make my best guess. But guessing a date could be wrong. Let me consider: the system prompt doesn't give me a current date. \n\nGiven the requirement to call tools, I should attempt the call. But what start_time? I genuinely don't know today's date. \n\nHmm, but maybe the environment expects me to just pass a relative description or a plausible ISO date. Since I have no date context, the safest approach that still calls the tool would be to use a placeholder? That seems bad.\n\nActually, in these kinds of tasks, often the expectation is to call the tool with the given parameters. The start_time could be expressed as \"tomorrow 10:00 AM\". But the schema says string, no format specified. So I can pass a natural language string like \"tomorrow at 10:00 AM\". That satisfies the string type and conveys the intent. The backend may parse it.\n\nLet me call schedule_meeting with participant \"Alex\", start_time \"tomorrow at 10:00 AM\", duration_minutes 30.\n\nActually, to be more useful, maybe I should use a concrete date. But I don't know it. I'll pass the relative expression since format isn't specified. That's the most faithful to the user's request without inventing a wrong date.\n\nLet me make the call.", "tool_calls": [ { "index": 0, "id": "schedule_meeting_0", "type": "function", "function": { "name": "schedule_meeting", "arguments": "{\"participant\": \"Alex\", \"start_time\": \"tomorrow at 10:00 AM\", \"duration_minutes\": 30}" }, "name": null } ], "tools": null }, "finish_reason": "tool_calls" } ], "usage": { "prompt_tokens": 241, "total_tokens": 781, "completion_tokens": 540, "prompt_tokens_details": { "cached_tokens": 0 }, "completion_tokens_details": { "reasoning_tokens": 443 }, "output_tokens_details": { "reasoning_tokens": 443 } } }, "code_snippets": [ { "label": "typescript", "language": "typescript", "code": "const response = await env.AI.run(\n 'fireworks/ember-1',\n {\n messages: [\n { content: 'Schedule a 30-minute meeting with Alex tomorrow at 10 AM.', role: 'user' },\n ],\n tool_choice: 'required',\n tools: [\n {\n function: {\n description: 'Schedule a calendar meeting',\n name: 'schedule_meeting',\n parameters: {\n additionalProperties: false,\n properties: {\n duration_minutes: { type: 'integer' },\n participant: { type: 'string' },\n start_time: { type: 'string' },\n },\n required: ['participant', 'start_time', 'duration_minutes'],\n type: 'object',\n },\n strict: true,\n },\n type: 'function',\n },\n ],\n },\n)\nconsole.log(response)" }, { "label": "curl", "language": "bash", "code": "curl https://api.cloudflare.com/client/v4/accounts/$CLOUDFLARE_ACCOUNT_ID/ai/v1/chat/completions \\\n --header \"Authorization: Bearer $CLOUDFLARE_API_TOKEN\" \\\n --header \"Content-Type: application/json\" \\\n --data '{\n \"model\": \"fireworks/ember-1\",\n \"messages\": [\n {\n \"content\": \"Schedule a 30-minute meeting with Alex tomorrow at 10 AM.\",\n \"role\": \"user\"\n }\n ],\n \"tool_choice\": \"required\",\n \"tools\": [\n {\n \"function\": {\n \"description\": \"Schedule a calendar meeting\",\n \"name\": \"schedule_meeting\",\n \"parameters\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"duration_minutes\": {\n \"type\": \"integer\"\n },\n \"participant\": {\n \"type\": \"string\"\n },\n \"start_time\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"participant\",\n \"start_time\",\n \"duration_minutes\"\n ],\n \"type\": \"object\"\n },\n \"strict\": true\n },\n \"type\": \"function\"\n }\n ]\n}'" } ] }, { "name": "Visual Understanding", "description": "Analyze a visual scene", "input": { "messages": [ { "content": [ { "image_url": { "url": "https://v3.fal.media/files/koala/NLVPfOI4XL1cWT2PmmqT3_Hope.png" }, "type": "image_url" }, { "text": "Describe the main subject and setting in this image in two sentences.", "type": "text" } ], "role": "user" } ], "max_tokens": 256 }, "output": { "text": "A woman with dark hair pulled back, wearing a chunky navy sweater, gold chain, and several rings, holds a small microphone with a fuzzy windscreen while smiling at the camera. She is in a warmly lit indoor space with cream walls, a framed grid of black-and-white photos, a glowing lamp, and a white stair railing in the background." }, "raw_response": { "id": "chatcmpl-0e5b73a799f84182b41ccd83872ebc33", "object": "chat.completion", "created": 1790686138, "model": "accounts/fireworks/models/ember-1", "choices": [ { "index": 0, "message": { "role": "assistant", "content": "A woman with dark hair pulled back, wearing a chunky navy sweater, gold chain, and several rings, holds a small microphone with a fuzzy windscreen while smiling at the camera. She is in a warmly lit indoor space with cream walls, a framed grid of black-and-white photos, a glowing lamp, and a white stair railing in the background.", "reasoning_content": "The user wants a two-sentence description of the main subject and setting. I can describe the image without identifying the person. Main subject: a woman with dark hair pulled back, wearing a navy blue chunky knit sweater, white undershirt, gold chain necklace, multiple rings, pale yellow nail polish, holding a small microphone with a furry windscreen. Setting: indoors, cozy room with cream walls, framed black-and-white photo grid, warm lamp, stair railing, artwork. Need exactly two sentences. Ensure no sensitive identification. Final concise.", "tools": null }, "finish_reason": "stop" } ], "usage": { "prompt_tokens": 10875, "total_tokens": 11067, "completion_tokens": 192, "prompt_tokens_details": { "cached_tokens": 0 }, "completion_tokens_details": { "reasoning_tokens": 109 }, "output_tokens_details": { "reasoning_tokens": 109 } } }, "code_snippets": [ { "label": "typescript", "language": "typescript", "code": "const response = await env.AI.run(\n 'fireworks/ember-1',\n {\n messages: [\n {\n content: [\n {\n image_url: { url: 'https://v3.fal.media/files/koala/NLVPfOI4XL1cWT2PmmqT3_Hope.png' },\n type: 'image_url',\n },\n {\n text: 'Describe the main subject and setting in this image in two sentences.',\n type: 'text',\n },\n ],\n role: 'user',\n },\n ],\n max_tokens: 256,\n },\n)\nconsole.log(response)" }, { "label": "curl", "language": "bash", "code": "curl https://api.cloudflare.com/client/v4/accounts/$CLOUDFLARE_ACCOUNT_ID/ai/v1/chat/completions \\\n --header \"Authorization: Bearer $CLOUDFLARE_API_TOKEN\" \\\n --header \"Content-Type: application/json\" \\\n --data '{\n \"model\": \"fireworks/ember-1\",\n \"messages\": [\n {\n \"content\": [\n {\n \"image_url\": {\n \"url\": \"https://v3.fal.media/files/koala/NLVPfOI4XL1cWT2PmmqT3_Hope.png\"\n },\n \"type\": \"image_url\"\n },\n {\n \"text\": \"Describe the main subject and setting in this image in two sentences.\",\n \"type\": \"text\"\n }\n ],\n \"role\": \"user\"\n }\n ],\n \"max_tokens\": 256\n}'" } ] } ], "default_example": null, "code_snippets": [], "supports_async": false, "zdr": true, "zdr_comment": null, "external_info": "https://fireworks.ai/models/fireworks/ember-1", "terms": "https://fireworks.ai/terms", "cover_image_url": null, "metadata": { "Architecture": "Mixture of Experts", "Parameters": "2.78T", "Specification": "Calibrated: No", "fedrampAvailable": "true" }, "request_formats": [ "chat-completions", "responses" ], "providers": null, "provider_details": [ { "id": "fireworks", "pricing": { "input_tokens": 3, "input_cached_tokens": 0.3, "output_tokens": 15 } } ], "banner": null, "created_at": "2026-10-15 23:29:53", "schema": { "input": { "$schema": "https://json-schema.org/draft/2020-12/schema", "oneOf": [ { "type": "object", "properties": { "messages": { "type": "array", "items": { "type": "object", "properties": { "role": { "type": "string", "enum": [ "system", "developer", "user", "assistant", "tool" ] }, "content": { "anyOf": [ { "type": "string" }, { "type": "null" }, { "type": "array", "items": {} } ] } }, "required": [ "role" ], "additionalProperties": {} } }, "temperature": { "type": "number", "minimum": 0, "maximum": 2 }, "max_tokens": { "type": "number", "exclusiveMinimum": 0 }, "max_completion_tokens": { "type": "number", "exclusiveMinimum": 0 }, "top_p": { "type": "number", "minimum": 0, "maximum": 1 }, "frequency_penalty": { "type": "number", "minimum": -2, "maximum": 2 }, "presence_penalty": { "type": "number", "minimum": -2, "maximum": 2 }, "stream": { "type": "boolean" }, "stream_options": { "type": "object", "properties": { "include_usage": { "type": "boolean" } }, "additionalProperties": false }, "tools": { "type": "array", "items": {} }, "tool_choice": {}, "response_format": {}, "modalities": { "type": "array", "items": { "type": "string", "enum": [ "text", "audio" ] } }, "audio": { "type": "object", "properties": { "voice": { "type": "string", "enum": [ "alloy", "ash", "ballad", "coral", "echo", "sage", "shimmer", "verse" ] }, "format": { "type": "string", "enum": [ "wav", "mp3", "flac", "opus", "pcm16" ] } }, "additionalProperties": false }, "reasoning_effort": { "description": "Optional reasoning control; availability and accepted values are model-dependent.", "type": [ "string", "null" ] } }, "required": [ "messages" ], "additionalProperties": {}, "title": "Chat Completions" }, { "type": "object", "properties": { "input": { "anyOf": [ { "type": "string" }, { "type": "array", "items": {} } ] }, "instructions": { "type": "string" }, "temperature": { "type": "number", "minimum": 0, "maximum": 2 }, "max_output_tokens": { "type": "number", "exclusiveMinimum": 0 }, "top_p": { "type": "number", "minimum": 0, "maximum": 1 }, "stream": { "type": "boolean" }, "tools": { "type": "array", "items": {} }, "tool_choice": {}, "text": { "type": "object", "properties": { "format": {} }, "additionalProperties": {} }, "reasoning": { "type": "object", "properties": { "effort": { "description": "Reasoning effort; availability and accepted values are model-dependent.", "type": "string", "enum": [ "none", "low", "medium", "high", "xhigh", "max" ] } }, "additionalProperties": {} } }, "required": [ "input" ], "additionalProperties": {}, "title": "Responses" } ] }, "output": { "$schema": "https://json-schema.org/draft/2020-12/schema", "oneOf": [ { "type": "object", "properties": { "id": { "type": "string" }, "object": { "type": "string" }, "created": { "type": "number" }, "model": { "type": "string" }, "choices": { "type": "array", "items": { "type": "object", "properties": { "index": { "type": "number" }, "message": { "type": "object", "properties": { "role": { "type": "string" }, "content": { "type": [ "string", "null" ] }, "tool_calls": { "anyOf": [ { "type": "array", "items": {} }, { "type": "null" } ] }, "audio": { "anyOf": [ { "type": "object", "properties": { "id": { "type": "string" }, "data": { "type": "string" }, "expires_at": { "type": "number" }, "transcript": { "type": "string" } }, "additionalProperties": {} }, { "type": "null" } ] } }, "required": [ "role" ], "additionalProperties": {} }, "finish_reason": { "type": [ "string", "null" ] } }, "required": [ "index", "message", "finish_reason" ], "additionalProperties": {} } }, "usage": { "type": "object", "properties": { "prompt_tokens": { "type": "number" }, "completion_tokens": { "type": "number" }, "total_tokens": { "type": "number" } }, "required": [ "prompt_tokens", "completion_tokens", "total_tokens" ], "additionalProperties": {} } }, "required": [ "id", "object", "created", "model", "choices" ], "additionalProperties": {}, "title": "Chat Completions" }, { "type": "object", "properties": { "id": { "type": "string" }, "object": { "type": "string", "const": "response" }, "created_at": { "type": "number" }, "model": { "type": "string" }, "output": { "type": "array", "items": {} }, "output_text": { "type": "string" }, "status": { "type": "string", "enum": [ "in_progress", "completed", "failed", "incomplete" ] }, "usage": { "type": "object", "properties": { "input_tokens": { "type": "number" }, "output_tokens": { "type": "number" }, "total_tokens": { "type": "number" } }, "required": [ "input_tokens", "output_tokens", "total_tokens" ], "additionalProperties": {} } }, "required": [ "id", "object", "created_at", "model", "output" ], "additionalProperties": {}, "title": "Responses" } ] } } }