diff --git a/providers/zerosignal/logo.svg b/providers/zerosignal/logo.svg new file mode 100644 index 00000000000..fe20bef3dfa --- /dev/null +++ b/providers/zerosignal/logo.svg @@ -0,0 +1,6 @@ +AAAWgmp1bWIAAAAeanVtZGMycGEAEQAQgAAAqgA4m3EDYzJwYQAAABZcanVtYgAAAEdqdW1kYzJtYQARABCAAACqADibcQN1cm46YzJwYTowZjkxZjBhNC05YmU0LTQyYTMtODg1Ny05ZmVlNDk4YzFjZWUAAAADl2p1bWIAAAApanVtZGMyYXMAEQAQgAAAqgA4m3EDYzJwYS5hc3NlcnRpb25zAAAAALxqdW1iAAAARGp1bWRjYm9yABEAEIAAAKoAOJtxE2MycGEuaW5ncmVkaWVudC52MwAAAAAYYzJzaNuXqP0fKW3Fg9PZNKkgH7IAAABwY2JvcqNpZGM6Zm9ybWF0bWltYWdlL3N2Zyt4bWxqaW5zdGFuY2VJRHgseG1wOmlpZDo2NTlmOTY1Yi02MmE0LTQzYmEtYWI4NS0xZjE4ZGFjOWFkNTNscmVsYXRpb25zaGlwaHBhcmVudE9mAAAB4mp1bWIAAABBanVtZGNib3IAEQAQgAAAqgA4m3ETYzJwYS5hY3Rpb25zLnYyAAAAABhjMnNoaH/xvws3ytoqDGN/hHckFAAAAZljYm9yomdhY3Rpb25zgqJmYWN0aW9ua2MycGEub3BlbmVkanBhcmFtZXRlcnOha2luZ3JlZGllbnRzgaJjdXJseC1zZWxmI2p1bWJmPWMycGEuYXNzZXJ0aW9ucy9jMnBhLmluZ3JlZGllbnQudjNkaGFzaFggiBasLCCdym4+Xlt26CZbxDVi+3O3Ry7hFRClUXHXszKkZmFjdGlvbngdY29tLmFudGhyb3BpYy5jbGF1ZGUucHJvdmlkZWRqcGFyYW1ldGVyc6F4H2NvbS5hbnRocm9waWMub3JpZ2luLWNvbmZpZGVuY2VndW5rbm93bmtkZXNjcmlwdGlvbnhmQ2xhdWRlIHByb3ZpZGVkIHRoaXMgZmlsZSBhdCB0aGUgcmVxdWVzdCBvZiBhIHVzZXIgYW5kIG1heSBoYXZlIGNyZWF0ZWQgb3IgbW9kaWZpZWQgdGhlIGZpbGUgY29udGVudHMubXNvZnR3YXJlQWdlbnShZG5hbWVmQ2xhdWRlcmFsbEFjdGlvbnNJbmNsdWRlZPUAAADIanVtYgAAAEBqdW1kY2JvcgARABCAAACqADibcRNjMnBhLmhhc2guZGF0YQAAAAAYYzJzaILF9PN1Q0CxwHUv6W1tsgoAAACAY2JvcqVjYWxnZnNoYTI1NmNwYWRNAAAAAAAAAAAAAAAAAGRoYXNoWCCib3mYDlXIoTesW7Mk2twtS2hwTDr35Hgj2xU/UEsIa2RuYW1lbmp1bWJmIG1hbmlmZXN0amV4Y2x1c2lvbnOBomVzdGFydBiTZmxlbmd0aBkeBAAAAj5qdW1iAAAAJ2p1bWRjMmNsABEAEIAAAKoAOJtxA2MycGEuY2xhaW0udjIAAAACD2Nib3KlY2FsZ2ZzaGEyNTZpc2lnbmF0dXJleE1zZWxmI2p1bWJmPS9jMnBhL3VybjpjMnBhOjBmOTFmMGE0LTliZTQtNDJhMy04ODU3LTlmZWU0OThjMWNlZS9jMnBhLnNpZ25hdHVyZWppbnN0YW5jZUlEeCx4bXA6aWlkOmMzMjRjNzFiLTk5NzktNGZjMi04M2Y0LTdlNDJjMWE5ZTI2ZHJjcmVhdGVkX2Fzc2VydGlvbnODomN1cmx4LXNlbGYjanVtYmY9YzJwYS5hc3NlcnRpb25zL2MycGEuaW5ncmVkaWVudC52M2RoYXNoWCCIFqwsIJ3Kbj5eW3boJlvENWL7c7dHLuEVEKVRcdezMqJjdXJseCpzZWxmI2p1bWJmPWMycGEuYXNzZXJ0aW9ucy9jMnBhLmFjdGlvbnMudjJkaGFzaFggFelmKXNXi0jU60cF7dg53cnmghwxF+oXyEtjEmc9t36iY3VybHgpc2VsZiNqdW1iZj1jMnBhLmFzc2VydGlvbnMvYzJwYS5oYXNoLmRhdGFkaGFzaFggZM0SdVjXkQv8x4PaCSdcGQ+f78RuypFgxztvtGOQAEh0Y2xhaW1fZ2VuZXJhdG9yX2luZm+jZG5hbWVvQW50aHJvcGljIEZpbGVzZ3ZlcnNpb25lMS4wLjBrc3BlY1ZlcnNpb25lMi40LjAAABA4anVtYgAAAChqdW1kYzJjcwARABCAAACqADibcQNjMnBhLnNpZ25hdHVyZQAAABAIY2JvctKEWQISogEmGCFZAgowggIGMIIBjaADAgECAhRA5aAK7sI50L64g/oGQgU9Z1UTADAKBggqhkjOPQQDAzBJMRcwFQYDVQQKEw5BbnRocm9waWMsIFBCQzEuMCwGA1UEAxMlQW50aHJvcGljIENvbnRlbnQgQ3JlZGVudGlhbHMgUm9vdCBDQTAeFw0yNjA4MDcxODQzNTZaFw0yODA4MDYxOTQzNTZaMEQxFzAVBgNVBAoTDkFudGhyb3BpYywgUEJDMSkwJwYDVQQDEyBBbnRocm9waWMgQ2xhdWRlIENvbnRlbnQgU2lnbmluZzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABJh6CmvLUBgFFNU0vUKlOVtE6djd17L5SuwX0LemFisBM3dkd/3cyjxFA3Qo5S46fX0/ihY0VZ7mfb9KF703t5OjWDBWMA4GA1UdDwEB/wQEAwIHgDAVBgNVHSUEDjAMBgorBgEEAYPoXgIBMAwGA1UdEwEB/wQCMAAwHwYDVR0jBBgwFoAUzlHiBIFOZFsj+OPEz5o+nMHXXMIwCgYIKoZIzj0EAwMDZwAwZAIwMXMdFJ4BetLLVY7ORuE9noqbbAZOZn/aArXyTwFAZfKrPzxF2vPoJNf1+UCdg1XGAjBwX1zd9WGqYkqmL5SFqw1QySjr1zJfpJM9+1rdDwSPLMOPOjKuiXjoU/pUUeG9RwmhY3BhZFkNngAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPZYQBPMabtbRuaG16BUCURj6uK2dYBVO9FZSf2Vmb4gG550q3VWhCXRCIX2GgJsp/M5uJ9l8j2mn5u0wuAcH7qLzDk= + + + + + diff --git a/providers/zerosignal/models/glm-5.2.toml b/providers/zerosignal/models/glm-5.2.toml new file mode 100644 index 00000000000..9de78f9a75b --- /dev/null +++ b/providers/zerosignal/models/glm-5.2.toml @@ -0,0 +1,25 @@ +# ZeroSignal is a multi-operator relay; operators set their own prices and serving +# limits. Values below were read from GET /v1/models on the local zs-proxy on 2026-09-16: +# cost is the lowest advertised operator rate, USD per 1M tokens, inclusive of the +# protocol fee (what the caller pays); the routed operator may charge differently. +# Effort values are the network's advertised `allowed_efforts` for this id. Any +# [limit] override is the advertised context_length / max_completion_tokens. +# https://docs.zerosignal.ai/for-users/pricing +# Measured 2026-09-16 (same prompt, temperature 0, max_tokens 4000, reasoning_content +# length): low and high return identical output (aliased); max is distinct; none +# still produces a full reasoning trace, so off is not available on this host. The +# operator advertises the full effort enum, but only high/max are distinct controls. +# Trace is returned in reasoning_content. +base_model = "zhipuai/glm-5.2" +reasoning_options = [{ type = "effort", values = ["high", "max"] }] + +[interleaved] +field = "reasoning_content" + +[cost] +input = 1.694 +output = 5.324 +cache_read = 0.3146 + +[limit] +output = 32_768 diff --git a/providers/zerosignal/models/glm-5.3-flash.toml b/providers/zerosignal/models/glm-5.3-flash.toml new file mode 100644 index 00000000000..43c41627c5f --- /dev/null +++ b/providers/zerosignal/models/glm-5.3-flash.toml @@ -0,0 +1,21 @@ +# ZeroSignal is a multi-operator relay; operators set their own prices and serving +# limits. Values below were read from GET /v1/models on the local zs-proxy on 2026-09-16: +# cost is the lowest advertised operator rate, USD per 1M tokens, inclusive of the +# protocol fee (what the caller pays); the routed operator may charge differently. +# Effort values are the network's advertised `allowed_efforts` for this id. Any +# [limit] override is the advertised context_length / max_completion_tokens. +# https://docs.zerosignal.ai/for-users/pricing +# Measured 2026-09-16 (same prompt, max_tokens 3000, reasoning tokens from usage): +# low/high/max accepted with graded traces; none, medium and xhigh are rejected by the +# host ("always engages in thinking and cannot be disabled"), so off is unavailable. +# Trace is returned in reasoning_content. +base_model = "zhipuai/glm-5.3-flash" +reasoning_options = [{ type = "effort", values = ["low", "high", "max"] }] + +[interleaved] +field = "reasoning_content" + +[cost] +input = 0.09075 +output = 0.3025 +cache_read = 0.01815 diff --git a/providers/zerosignal/models/glm-5.3.toml b/providers/zerosignal/models/glm-5.3.toml new file mode 100644 index 00000000000..707af41e9e8 --- /dev/null +++ b/providers/zerosignal/models/glm-5.3.toml @@ -0,0 +1,24 @@ +# ZeroSignal is a multi-operator relay; operators set their own prices and serving +# limits. Values below were read from GET /v1/models on the local zs-proxy on 2026-09-16: +# cost is the lowest advertised operator rate, USD per 1M tokens, inclusive of the +# protocol fee (what the caller pays); the routed operator may charge differently. +# Effort values are the network's advertised `allowed_efforts` for this id. Any +# [limit] override is the advertised context_length / max_completion_tokens. +# https://docs.zerosignal.ai/for-users/pricing +# Measured 2026-09-16 (same prompt, max_tokens 3000, reasoning tokens from usage): +# low/high/max accepted with graded traces; none, medium and xhigh are rejected by the +# host ("always engages in thinking and cannot be disabled"), so off is unavailable. +# Trace is returned in reasoning_content. +base_model = "zhipuai/glm-5.3" +reasoning_options = [{ type = "effort", values = ["low", "high", "max"] }] + +[interleaved] +field = "reasoning_content" + +[cost] +input = 1.694 +output = 5.324 +cache_read = 0.3146 + +[limit] +output = 32_768 diff --git a/providers/zerosignal/models/google/gemini-3.7-flash.toml b/providers/zerosignal/models/google/gemini-3.7-flash.toml new file mode 100644 index 00000000000..b1a4836c6a7 --- /dev/null +++ b/providers/zerosignal/models/google/gemini-3.7-flash.toml @@ -0,0 +1,19 @@ +# ZeroSignal is a multi-operator relay; operators set their own prices and serving +# limits. Values below were read from GET /v1/models on the local zs-proxy on 2026-09-16: +# cost is the lowest advertised operator rate, USD per 1M tokens, inclusive of the +# protocol fee (what the caller pays); the routed operator may charge differently. +# Effort values are the network's advertised `allowed_efforts` for this id. Any +# [limit] override is the advertised context_length / max_completion_tokens. +# https://docs.zerosignal.ai/for-users/pricing +# Measured 2026-09-16: none is rejected ("Reasoning is mandatory for this endpoint"), +# so off is unavailable; low returns zero reasoning tokens, medium/high graded, and +# xhigh/max are accepted but do not exceed high, so the lab's set is kept. This +# operator returns the trace in a field named `reasoning`, which is not one of the +# schema's interleaved field values, so no [interleaved] is declared. +base_model = "google/gemini-3.7-flash" +reasoning_options = [{ type = "effort", values = ["low", "medium", "high"] }] + +[cost] +input = 1.1 +output = 5.5 +cache_read = 0.11 diff --git a/providers/zerosignal/models/google/gemini-3.8-flash.toml b/providers/zerosignal/models/google/gemini-3.8-flash.toml new file mode 100644 index 00000000000..48932493a07 --- /dev/null +++ b/providers/zerosignal/models/google/gemini-3.8-flash.toml @@ -0,0 +1,19 @@ +# ZeroSignal is a multi-operator relay; operators set their own prices and serving +# limits. Values below were read from GET /v1/models on the local zs-proxy on 2026-09-16: +# cost is the lowest advertised operator rate, USD per 1M tokens, inclusive of the +# protocol fee (what the caller pays); the routed operator may charge differently. +# Effort values are the network's advertised `allowed_efforts` for this id. Any +# [limit] override is the advertised context_length / max_completion_tokens. +# https://docs.zerosignal.ai/for-users/pricing +# Measured 2026-09-16: none is rejected ("Reasoning is mandatory for this endpoint"), +# so off is unavailable; low returns zero reasoning tokens, medium/high graded, and +# xhigh/max are accepted but do not exceed high, so the lab's set is kept. This +# operator returns the trace in a field named `reasoning`, which is not one of the +# schema's interleaved field values, so no [interleaved] is declared. +base_model = "google/gemini-3.8-flash" +reasoning_options = [{ type = "effort", values = ["low", "medium", "high"] }] + +[cost] +input = 1.1 +output = 5.5 +cache_read = 0.11 diff --git a/providers/zerosignal/models/grok-4.3.toml b/providers/zerosignal/models/grok-4.3.toml new file mode 100644 index 00000000000..cf311bc3c40 --- /dev/null +++ b/providers/zerosignal/models/grok-4.3.toml @@ -0,0 +1,23 @@ +# ZeroSignal is a multi-operator relay; operators set their own prices and serving +# limits. Values below were read from GET /v1/models on the local zs-proxy on 2026-09-16: +# cost is the lowest advertised operator rate, USD per 1M tokens, inclusive of the +# protocol fee (what the caller pays); the routed operator may charge differently. +# Effort values are the network's advertised `allowed_efforts` for this id. Any +# [limit] override is the advertised context_length / max_completion_tokens. +# https://docs.zerosignal.ai/for-users/pricing +# Measured 2026-09-16: none returns no reasoning trace (off); graded levels think. +# Trace is returned in reasoning_content. +base_model = "xai/grok-4.3" +reasoning_options = [{ type = "effort", values = ["none", "low", "medium", "high"] }] + +[interleaved] +field = "reasoning_content" + +[cost] +input = 1.5125 +output = 3.025 +cache_read = 0.242 + +[limit] +context = 200_000 +output = 32_768 diff --git a/providers/zerosignal/models/grok-4.5.toml b/providers/zerosignal/models/grok-4.5.toml new file mode 100644 index 00000000000..e7de4a6f633 --- /dev/null +++ b/providers/zerosignal/models/grok-4.5.toml @@ -0,0 +1,23 @@ +# ZeroSignal is a multi-operator relay; operators set their own prices and serving +# limits. Values below were read from GET /v1/models on the local zs-proxy on 2026-09-16: +# cost is the lowest advertised operator rate, USD per 1M tokens, inclusive of the +# protocol fee (what the caller pays); the routed operator may charge differently. +# Effort values are the network's advertised `allowed_efforts` for this id. Any +# [limit] override is the advertised context_length / max_completion_tokens. +# https://docs.zerosignal.ai/for-users/pricing +# Measured 2026-09-16: none and max are rejected by the host, so off is unavailable; +# the graded levels are accepted and all think (token counts within noise of each +# other, so the lab's set is kept). Trace is returned in reasoning_content. +base_model = "xai/grok-4.5" +reasoning_options = [{ type = "effort", values = ["low", "medium", "high"] }] + +[interleaved] +field = "reasoning_content" + +[cost] +input = 2.42 +output = 7.26 +cache_read = 0.363 + +[limit] +output = 32_768 diff --git a/providers/zerosignal/models/grok-4.6.toml b/providers/zerosignal/models/grok-4.6.toml new file mode 100644 index 00000000000..293701e57bc --- /dev/null +++ b/providers/zerosignal/models/grok-4.6.toml @@ -0,0 +1,23 @@ +# ZeroSignal is a multi-operator relay; operators set their own prices and serving +# limits. Values below were read from GET /v1/models on the local zs-proxy on 2026-09-16: +# cost is the lowest advertised operator rate, USD per 1M tokens, inclusive of the +# protocol fee (what the caller pays); the routed operator may charge differently. +# Effort values are the network's advertised `allowed_efforts` for this id. Any +# [limit] override is the advertised context_length / max_completion_tokens. +# https://docs.zerosignal.ai/for-users/pricing +# Measured 2026-09-16: none and max are rejected by the host, so off is unavailable; +# the graded levels are accepted and all think (token counts within noise of each +# other, so the lab's set is kept). Trace is returned in reasoning_content. +base_model = "xai/grok-4.6" +reasoning_options = [{ type = "effort", values = ["low", "medium", "high", "xhigh"] }] + +[interleaved] +field = "reasoning_content" + +[cost] +input = 2.42 +output = 7.26 +cache_read = 0.363 + +[limit] +output = 32_768 diff --git a/providers/zerosignal/models/kimi-k3.toml b/providers/zerosignal/models/kimi-k3.toml new file mode 100644 index 00000000000..aae5d741066 --- /dev/null +++ b/providers/zerosignal/models/kimi-k3.toml @@ -0,0 +1,25 @@ +# ZeroSignal is a multi-operator relay; operators set their own prices and serving +# limits. Values below were read from GET /v1/models on the local zs-proxy on 2026-09-16: +# cost is the lowest advertised operator rate, USD per 1M tokens, inclusive of the +# protocol fee (what the caller pays); the routed operator may charge differently. +# Effort values are the network's advertised `allowed_efforts` for this id. Any +# [limit] override is the advertised context_length / max_completion_tokens. +# https://docs.zerosignal.ai/for-users/pricing +# Measured 2026-09-16: none returns no reasoning trace (off); low/high/max think. +# Off is effort=none, so no toggle. Moonshot's temperature rule applies through the +# proxy: thinking modes require temperature 1, none requires 0.6. +# Trace is returned in reasoning_content. +base_model = "moonshotai/kimi-k3" +reasoning_options = [{ type = "effort", values = ["none", "low", "high", "max"] }] + +[interleaved] +field = "reasoning_content" + +[cost] +input = 3.432 +output = 17.16 +cache_read = 0.3432 + +[limit] +context = 1_000_000 +output = 32_768 diff --git a/providers/zerosignal/models/openai/gpt-5.6-luna.toml b/providers/zerosignal/models/openai/gpt-5.6-luna.toml new file mode 100644 index 00000000000..7e0a35f37f4 --- /dev/null +++ b/providers/zerosignal/models/openai/gpt-5.6-luna.toml @@ -0,0 +1,18 @@ +# ZeroSignal is a multi-operator relay; operators set their own prices and serving +# limits. Values below were read from GET /v1/models on the local zs-proxy on 2026-09-16: +# cost is the lowest advertised operator rate, USD per 1M tokens, inclusive of the +# protocol fee (what the caller pays); the routed operator may charge differently. +# Effort values are the network's advertised `allowed_efforts` for this id. Any +# [limit] override is the advertised context_length / max_completion_tokens. +# https://docs.zerosignal.ai/for-users/pricing +# Measured 2026-09-16: none returns no reasoning trace (off); all graded levels are +# accepted by this host, so the set matches the lab entry. +# This operator returns the trace in a field named `reasoning`, not one of the schema's +# interleaved field values, so no [interleaved] is declared. +base_model = "openai/gpt-5.6-luna" +reasoning_options = [{ type = "effort", values = ["none", "low", "medium", "high", "xhigh", "max"] }] + +[cost] +input = 0.319 +output = 1.936 +cache_read = 0.033 diff --git a/providers/zerosignal/models/openai/gpt-5.6-terra.toml b/providers/zerosignal/models/openai/gpt-5.6-terra.toml new file mode 100644 index 00000000000..c83736f535f --- /dev/null +++ b/providers/zerosignal/models/openai/gpt-5.6-terra.toml @@ -0,0 +1,19 @@ +# ZeroSignal is a multi-operator relay; operators set their own prices and serving +# limits. Values below were read from GET /v1/models on the local zs-proxy on 2026-09-16: +# cost is the lowest advertised operator rate, USD per 1M tokens, inclusive of the +# protocol fee (what the caller pays); the routed operator may charge differently. +# Effort values are the network's advertised `allowed_efforts` for this id. Any +# [limit] override is the advertised context_length / max_completion_tokens. +# https://docs.zerosignal.ai/for-users/pricing +# Measured 2026-09-16: none returns no reasoning trace (off); all graded levels are +# accepted by this host, so the set matches the lab entry. +# The trace field is not stable across operators for this id (returned in one +# measurement, absent in another while usage still reported reasoning tokens), so no +# [interleaved] is declared. +base_model = "openai/gpt-5.6-terra" +reasoning_options = [{ type = "effort", values = ["none", "low", "medium", "high", "xhigh", "max"] }] + +[cost] +input = 2.662 +output = 15.972 +cache_read = 0.2662 diff --git a/providers/zerosignal/models/openai/gpt-6-astra.toml b/providers/zerosignal/models/openai/gpt-6-astra.toml new file mode 100644 index 00000000000..00657a81e59 --- /dev/null +++ b/providers/zerosignal/models/openai/gpt-6-astra.toml @@ -0,0 +1,18 @@ +# ZeroSignal is a multi-operator relay; operators set their own prices and serving +# limits. Values below were read from GET /v1/models on the local zs-proxy on 2026-09-16: +# cost is the lowest advertised operator rate, USD per 1M tokens, inclusive of the +# protocol fee (what the caller pays); the routed operator may charge differently. +# Effort values are the network's advertised `allowed_efforts` for this id. Any +# [limit] override is the advertised context_length / max_completion_tokens. +# https://docs.zerosignal.ai/for-users/pricing +# Measured 2026-09-16: none is rejected by the host ("Reasoning is mandatory for this +# endpoint"), so off is unavailable. The graded levels could not be exercised that day +# (every call was rate-limited upstream); the set authored is the operator's advertised +# one, which is identical to OpenAI's own entry for this model. +base_model = "openai/gpt-6-astra" +reasoning_options = [{ type = "effort", values = ["low", "medium", "high", "xhigh", "max"] }] + +[cost] +input = 12.1 +output = 60.5 +cache_read = 1.21 diff --git a/providers/zerosignal/provider.toml b/providers/zerosignal/provider.toml new file mode 100644 index 00000000000..31bc367e86e --- /dev/null +++ b/providers/zerosignal/provider.toml @@ -0,0 +1,9 @@ +# ZeroSignal is a pay-per-use inference network reached through a local proxy +# (zs-proxy). The proxy serves an OpenAI-compatible API on 127.0.0.1:9376 and does +# not check the API key: admission comes from the user's wallet, so any non-empty +# value works. Docs: https://docs.zerosignal.ai/using-the-proxy/connecting-tools +name = "ZeroSignal" +npm = "@ai-sdk/openai-compatible" +env = ["ZEROSIGNAL_API_KEY"] +api = "http://127.0.0.1:9376/v1" +doc = "https://docs.zerosignal.ai/using-the-proxy/quick-start"