What the agent knows
Fish Audio injects two pieces of world context server-side:
The time is refreshed on every turn, so it stays accurate through long conversations and past midnight — it never freezes at the session’s start time.
Injection happens outside your configuration, so it never counts toward the
system prompt’s character limit.
Which timezone a session uses
The timezone is resolved once, when the session is created, taking the first that applies:timezonein the creation request — your explicit per-session choice, as an IANA name likeAsia/Shanghai. An invalid name rejects the request with422.- The agent’s configured timezone — set on the agent in the Builder (Configuration → Timezone) or via the agent config API. Pin one when your agent serves a single region regardless of who calls.
client_timezone— a hint with the end user’s browser timezone, sent automatically by the Web SDK in public-agent mode. Used only when neither of the above is set; an invalid hint is ignored rather than failing the session.- The caller’s phone number — inbound calls infer the timezone from the caller’s country when that country has a single timezone.
- UTC otherwise.
timezone (or forward the browser’s value as client_timezone) in the creation request:
API (curl)
Phone-number inference is country-level only. Countries that span several
timezones (the US, Canada, Australia, Russia, Brazil) are skipped — set the
agent’s timezone for those. Calls that resolve nothing run in UTC.
Turn it off
Time awareness is on by default. To withhold both the date and the per-turn time from a session — for example a role-play agent set on a fictional date, or a test that must be reproducible — setworld_context: false when creating the session:
Going further
Authentication
All session-creation parameters, including
timezone and world_context.Dynamic variables
Personalize the rest of the prompt at session creation.

