Users describe the influencer inside Personality.md while the application translates their choices into an IMD compatible request
COMPLETE PRODUCT MANUAL
PERSONALITY.MD
DOCUMENTATION
Personality.md is an independent application layer for designing virtual influencers and translating their creative specification into work that the IMD network can validate
PRODUCT PRINCIPLES
WHAT THE PRODUCT IS DESIGNED TO DO
The Explorer displays public jobs returned by IMD and never presents invented objectives as live work
Unsupported uploads social publishing and unavailable provider operations remain blocked instead of showing fictional success
Every generated image and video request includes the selected appearance voice audience values and boundaries
Users can design and validate a personality before any paid admission flow exists
The product treats virtual influencers as AI generated identities and does not present them as real people
SYSTEM MAP
ARCHITECTURE
The same origin bridge runs through a Vercel Function in production and through Vite middleware during local development Both environments reuse the same restricted request handler
| LAYER | RESPONSIBILITY | CURRENT STATE |
|---|---|---|
| Landing | Product explanation agent roles and operating loop | Implemented |
| Explorer | Standalone page for real IMD jobs and network filters | Implemented |
| Personalities | Standalone index of generated vertical media examples | Implemented |
| Creator | Build a structured influencer and validate the objective | Implemented |
| Bridge | Protect cross origin IMD routes behind same origin requests | Local and Vercel production |
| Payment client | Handle x402 challenge Permit2 approval two wallet signatures paid submit and status polling | Implemented |
| Persistence | Store user personalities files jobs and results | Not implemented |
PUBLIC ENTRY
HOMEPAGE
Industrial control room
The first section uses an industrial machine wall with blue indicators a large Personality.md terminal an IMD inspired desk scene and animated characters
The machinery is visual only and does not navigate to external destinations
Decorative terminal
The homepage terminal explains the agent roles but accepts no operational commands Every submitted line returns WRONG COMMAND in red
Influencer creation is intentionally moved away from the terminal and into the dedicated Creator Studio
Header behavior
- EXPLORER opens
/explorer.htmlin a new tab - PERSONALITIES opens
/personalities.htmlin a new tab - SWARM explains the agent roles
- PROTOCOL explains the operating loop
- DOCS opens this complete manual in a new tab
- CREATE opens the standalone Creator Studio in a new tab
- CONNECT requests wallet access only after a deliberate click
REAL NETWORK ACTIVITY
EXPLORER
The standalone Explorer lives at /explorer.html reads public jobs from IMD through GET /api/imd/jobs and renders their real objective state identifier and update time
ALL
Displays the current job page returned by IMD excluding oracle panel jobs
MEDIA
Filters objectives and templates containing video image media audio creative content visual avatar character or influencer terms
ACTIVE
Removes completed blocked failed cancelled and superseded work from the current view
The displayed count is the number of jobs received in the current request and is not presented as the total historical size of IMD
If the upstream request fails the feed shows a network unavailable state rather than replacing the jobs with mock data
STANDALONE WORKSPACE
CREATOR STUDIO
The Creator Studio lives at /create.html and opens independently from the homepage so a user can build a personality without losing the Explorer state
Display name niche audience purpose campaign direction and free form brief
Build hairstyle heritage age presentation and eye color
Up to six local images for face identity wardrobe palette pose product location lighting or art direction plus written instructions for how each reference should be used
Archetype tone language values forbidden topics and disclosure rules
Portrait plus video vertical video or image reference pack
Live request console
The right side console updates as the form changes and shows the selected visual identity niche heritage voice output local file count and complete composed objective
Changing any field invalidates the earlier IMD validation and disables quote creation until the request is checked again
ORIGINAL ASSET SYSTEM
VISUAL REFERENCES
Personality.md contains 21 original selector images generated specifically for this project No Higgsfield interface images are copied
| GROUP | OPTIONS | PURPOSE |
|---|---|---|
| Build | 7 | Slim athletic average curvy broad petite and plus size |
| Hairstyle | 7 | Seven eccentric sculptural fashion wigs based on the user supplied direction |
| Heritage reference | 7 | Seven diverse visual starting points for appearance direction |
Current hairstyle set
Every category is deliberately capped at seven options to keep the decision surface focused and readable
Asset provenance is stored in public/references/PROVENANCE.md
REQUEST COMPILATION
OBJECTIVE BUILDER
The browser converts the form into one plain language production objective containing the following information
- Name and niche
- Build heritage age presentation hairstyle and eye color
- User supplied identity brief
- Archetype tone and language
- Values restrictions and disclosure requirements
- Local image reference count and instructions for how they should guide the creation
- Additional visual notes
- Requested first production
- A consistency requirement across every image and video
Create a coherent virtual influencer called NAME for NICHE — APPEARANCE — IDENTITY BRIEF — VOICE — BOUNDARIES — FIRST PRODUCTION — maintain the same recognizable identity across every image and videoTerminal full stops are removed from user facing copy but internal API syntax URLs selectors and technical values retain their required characters
NETWORK LAYER
IMD INTEGRATION
IMD exposes a public control plane at https://api.imd.fun and an Explorer at https://explorer.imd.fun
Personality.md currently uses public job reads plus request checking and quote creation
| PERSONALITY ROUTE | IMD DESTINATION | USE |
|---|---|---|
| GET /api/imd/jobs | GET /jobs | Read real public work |
| POST /api/imd/check | POST /requests/check | Run free planning and blocker validation |
| POST /api/imd/quote | POST /requests/quote | Save a real priced unpaid order |
Media skills used by the request builder
create-imagefor character portraits and image packscreate-videofor vertical introduction videos- A chain combines image creation followed by video creation for the default output
Personality.md is not an official IMD product and does not claim control over IMD workers pricing availability results or policy
OPEN OFFICIAL IMD API DOCS ↗FREE PRECHECK
VALIDATION
VALIDATE WITH LIVE IMD sends the composed request to the live IMD planner without payment
The response can contain a proposed plan facts blockers and suggestions
The request is being checked by the upstream planner
The plan contains no blockers and quote creation can be enabled
The request failed transport validation or returned one or more blockers
A form edit makes the earlier validation stale and quote creation is disabled
A successful check does not mean a job exists and does not guarantee that future paid work will complete successfully
REAL PAID ADMISSION
QUOTES AND PAYMENT
CREATE IMD QUOTE generates a fresh UUID request key and sends the validated action and input to IMD
The returned order is real but remains unpaid until the user reviews the exact live price network asset recipient and expiry
Authentication
The browser generates a random 32 byte token encoded as 64 hexadecimal characters and stores it in session storage The local bridge forwards it as a Bearer credential and uses the same token to recover order status
Wallet sequence
- Connect an injected Ethereum wallet after an explicit click
- Switch to Ethereum Mainnet when required
- Read the wallet allowance granted to the official Permit2 contract
- Request a reusable IMD token approval only when the allowance is insufficient
- Request the x402 v2 challenge for the saved order
- Sign the Permit2 payment authorization
- Sign the EIP-712 QuoteApproval binding the exact payment payload to the exact IMD quote
- Submit both signatures through the same origin bridge
- Poll the saved order until it is admitted failed or expired
Personality.md never pays on page load Quote creation does not charge anything and every token approval payment signature and quote signature requires a visible wallet confirmation
The current job price is read from each IMD quote rather than hard coded The interface displays the token amount Ethereum Mainnet asset recipient order ID and expiry before enabling payment
A successful payment purchases admission to IMD It does not guarantee that the generated work will complete or satisfy every creative expectation
LOCAL REFERENCES
ATTACHMENTS
Users can select up to six PNG JPEG or WEBP files with a maximum size of 8 MB each
The browser creates temporary object URLs for previews and revokes them after loading
The files are not uploaded to Personality.md and are not sent to IMD
Why quote creation is blocked
The current public paid request interface does not expose a customer file upload route compatible with job input files
IMD bundle and artifact upload routes require contributor device credentials or an artifact lease and are not equivalent to a public customer attachment endpoint
When local files are present validation can still test the text objective but quote creation remains disabled to prevent a misleading submission
Written notes describing what should be preserved from local files are included in the composed objective but the image bytes themselves remain local
EXPLICIT CONSENT
WALLET
The site does not request accounts during initial page load
CONNECT calls eth_requestAccounts only after the user presses the button
After connection the header displays a shortened public address
The wallet can be asked to switch to Ethereum Mainnet and can display a separate Permit2 approval transaction when the IMD allowance is insufficient
The paid flow then requests one x402 Permit2 payment signature and one EIP-712 quote approval signature from the same wallet
No private key or seed phrase is requested stored transmitted or exposed by Personality.md
If no injected wallet exists the UI reports that no browser wallet was detected
WORK LIFECYCLE
JOBS AND RESULTS
An IMD quote is not a job A job exists only after the separate payment and admission flow succeeds
Public IMD job records can expose state objective template timestamps delivery information accepted submissions and result files depending on job progress
Current Personality.md coverage
- Read public job summaries
- Filter media and active work
- Validate a new job body
- Create a real unpaid quote
- Review the exact live IMD payment terms
- Check and request Permit2 approval
- Sign and submit a real x402 payment
- Poll payment and admission state
- Map successful admission to the real job status URL
Future coverage required
- Poll the admitted job until the creative work completes
- Read accepted files from the result endpoint
- Display image video and report outputs
- Continue an existing personality project
PERSONALITY INDEX
MEDIA EXAMPLES
The standalone Personality Index lives at /personalities.html and contains four user supplied vertical videos stored locally under public/videos
- Videos use a 9 by 16 display container
- Playback starts on pointer hover or keyboard focus
- Playback is muted looped and inline
- Leaving the card pauses the video and resets it to the beginning
- Each video has a locally extracted poster frame
The cards are examples of possible virtual influencer media and are not presented as outputs created through the current Personality.md request flow
OPERATING MODEL
AGENT RESPONSIBILITIES
| ROLE | RESPONSIBILITY | CURRENT PRODUCT STATE |
|---|---|---|
| Identity Architect | Biography values voice boundaries and long term goals | Represented in the brief |
| Visual Director | Face wardrobe environments framing and visual consistency | Represented in appearance fields |
| Content Room | Scripts posts story arcs and channel plans | Future workflow |
| Policy Guard | Disclosure permission impersonation and budget checks | Represented in boundaries |
| Growth Analyst | Performance evidence and recommendations | Future workflow |
| Publisher | Channel specific scheduling and distribution | Not implemented |
These roles describe the product architecture and intended orchestration They are not a claim that every named agent is currently running for every request
RESPONSIBLE CREATION
SAFETY AND IDENTITY RULES
- Do not impersonate a real person without documented authorization
- Do not present generated media as authentic footage
- Disclose AI generated identity and media where audiences could be misled
- Do not upload private credentials identity documents or confidential client material
- Define forbidden topics claims and behaviors before production
- Review every output before social publication
- Respect publicity copyright trademark and platform rules
- Do not assume ownership of third party visual references
The original selector images are design references rather than permission to reproduce a real person
CURRENT DATA MODEL
DATA AND PRIVACY
| DATA | LOCATION | LIFETIME |
|---|---|---|
| Form fields | Browser memory | Until refresh or navigation |
| Reference files | Browser file objects | Until removed or page closed |
| Reference previews | Temporary object URLs | Revoked after image load |
| IMD request token | Session storage | Current tab session |
| Public jobs | Fetched from IMD | Current page memory |
| Created quote | IMD control plane | Defined by IMD order policy |
Personality.md currently has no user account database analytics pipeline cloud file storage or personality library
The source contains no wallet private keys provider API keys or payment secrets
INTERACTION QUALITY
ACCESSIBILITY AND RESPONSIVE DESIGN
- Semantic labels connect controls to their names
- Visual option cards use real radio inputs
- Videos can play through pointer hover or keyboard focus
- Selected cards expose checked state to assistive technology
- Status areas use live regions for validation feedback
- Reduced motion preferences minimize animations and transitions
- Desktop grids collapse to readable mobile columns
- The Creator header and controls fit a true 390 pixel CSS viewport without horizontal overflow
LOCAL BRIDGE CONTRACT
LOCAL API
GET /api/imd/jobs
GET /api/imd/jobs?limit=60&exclude=oracleForwards a bounded public job request to IMD with a maximum local limit of 100
POST /api/imd/check
{ "action": "job.open", "input": { "objective": "...", "skill": "create-video", "outputs": [] } }Forwards the proposed body to the free IMD request checker
POST /api/imd/quote
{ "action": "job.open", "input": { ... }, "requestKey": "UUID" }Requires x-personality-request-token containing exactly 64 hexadecimal characters The bridge forwards it as an Authorization Bearer token
POST /api/imd/orders/:id/submit
Without a payment header this route returns the live x402 challenge With PAYMENT-SIGNATURE and a quoteSignature body it forwards the signed payment and admission request to IMD
GET /api/imd/orders/:id
Reads the private saved order using the same client token and returns quoted payment pending admission pending admitted payment failed or expired state
GET /api/imd/capabilities
Reads enabled actions live prices network asset recipient limits and payment protocol configuration from IMD
Bridge failure behavior
- Unknown local routes return 404
- Invalid request tokens return 401
- Upstream transport failures return 502
- Upstream status and JSON bodies are preserved where possible
- Responses use no store cache headers
LOCAL WORKFLOW
DEVELOPMENT
npm installnpm run dev -- --port 4178npm run checknpm run buildLocal routes
http://127.0.0.1:4178/landing pagehttp://127.0.0.1:4178/explorer.htmllive IMD jobs Explorerhttp://127.0.0.1:4178/personalities.htmlPersonality Indexhttp://127.0.0.1:4178/create.htmlCreator Studiohttp://127.0.0.1:4178/docs.htmlcomplete documentation
The production build is multi page and must emit index.html create.html and docs.html
PROJECT MAP
IMPORTANT FILES
| index.html | Landing agent swarm protocol and public product sections |
| explorer.html | Standalone live IMD jobs Explorer |
| personalities.html | Standalone Personality Index and vertical media examples |
| create.html | Standalone influencer Creator Studio |
| docs.html | Complete product and integration documentation |
| src/main.js | Decorative terminal wallet connection and homepage interactions |
| src/explorer.js | Live IMD jobs reads filters refresh and safe rendering |
| src/personalities.js | Vertical video cards hover playback focus playback and reset |
| src/create.js | Standalone creator validation live quote wallet Permit2 x402 submit and admission polling |
| src/imd-payment.js | Canonical payment hashing quote approval types amount formatting and status labels |
| server/imd-paid-routes.js | Fail closed paid route mapping token validation and IMD request construction |
| src/styles.css | Landing Explorer responsive system and media cards |
| src/create.css | Black Creator Studio visual system |
| src/docs.css | Documentation layout navigation tables and mobile rules |
| vite.config.js | Multi page build and local IMD bridge |
| scripts/check.mjs | Required asset behavior and route assertions |
| public/references | 21 original visual selector images plus provenance |
| public/videos | Four vertical examples poster images and provenance |
| public/imd-assets | Industrial scene assets and provenance warning |
HONEST BOUNDARIES
CURRENT LIMITATIONS
Local reference files remain in the browser
Refreshing the page resets the form and selected local files
The application connects admission to the job status URL but does not yet retrieve and render accepted media
No account creation scheduling posting or platform credentials exist
The intended long term identity memory is not stored by the current frontend
The Vite middleware must become a production backend before deployment
IMD derived industrial assets require permission review before commercial publication
COMMON QUESTIONS
FAQ
IS PERSONALITY.MD AN OFFICIAL IMD PRODUCT
No It is an independent application concept using IMD public data and request APIs
DOES VALIDATION COST MONEY
No The current check route is used before quote creation and does not perform payment
DOES CREATE IMD QUOTE START A JOB
No It saves a real unpaid order The user must then review the terms approve Permit2 when required sign the payment and sign the quote approval
WHEN DOES IMD CHARGE THE WALLET
Only after the user presses the payment control and confirms the required wallet prompts Quote creation and validation do not charge
ARE MY REFERENCE IMAGES SENT TO IMD
No They stay in the browser Only written reference notes are included in the objective
WHY IS THE QUOTE BUTTON DISABLED WHEN I ADD IMAGES
Because claiming those files were attached would be false until IMD exposes a supported customer upload route
ARE THE SELECTOR IMAGES FROM HIGGSFIELD
No All 21 selector images are original assets generated for Personality.md
CAN THE SITE PUBLISH TO SOCIAL NETWORKS
No Social operation is part of the planned product model but is not implemented
DOES CONNECT SPEND FUNDS
No CONNECT requests account access only Spending requires the later Permit2 approval and payment confirmations
WHY DOES THE TERMINAL SAY WRONG COMMAND
The terminal is a decorative explanation surface Influencer creation belongs in the Creator Studio
CAN THIS BE DEPLOYED AS A STATIC SITE
The pages can be built statically but live IMD calls require a production backend replacing the development bridge