Use this file to discover all available pages before exploring further.
The PickFu CLI (@pickfu/cli) lets you create surveys, check results, and manage polls directly from your terminal. It supports structured JSON output for automation and CI/CD workflows.
Log in through the browser to connect the CLI to your PickFu account:
pickfu auth login
This opens a browser window for OAuth authorization. Once approved, your credentials are stored locally and refreshed automatically.For headless environments (servers, CI), use the --headless flag to print the authorization URL instead of opening a browser:
For non-interactive environments like CI pipelines or automation scripts, use an API key instead of OAuth:
# Interactive prompt (key never appears in shell history)pickfu auth set-key# Or pipe from clipboard (macOS)pbpaste | pickfu auth set-key# Or use an environment variable (for CI/automation)export PICKFU_API_KEY=sk_...pickfu survey list# Or pass per-command via flagpickfu survey list --token sk_...
Avoid echo "sk_..." | pickfu auth set-key — the key appears in shell history. Use the interactive prompt or pipe from clipboard instead.
Token precedence:--token flag > PICKFU_API_KEY env var > stored OAuth token > stored API key.
{ "name": "Logo test", "country": "US", "sampleSize": "50", "surveyIntent": "Determine which logo resonates better with our target audience", "questions": [ { "type": "head_to_head", "prompt": "Which logo do you prefer for a children's educational app?", "context": { "text": "We're launching a new learning app for kids aged 5-10" }, "options": [ { "value": "Logo A — playful, colorful design" }, { "value": "Logo B — clean, modern design" } ] } ], "targeting": ["amznpr"], "reporting": ["age", "gender"], "tags": [{ "name": "Q2 testing" }], "projectId": "proj_xyz"}
Image options use mediaUrl (not imageUrl); product options use asin; image-set options use imageSet. Unknown fields on options are rejected with a 400 — see the API reference for the full schema.
Publish a draft survey to start collecting responses:
pickfu survey publish <survey-id>
Calling publish on an already-published survey returns a 400 Already published with a pointer to the /v1/surveys/{id}/respondents endpoint. Use pickfu survey add-respondents to extend the sample size of a running survey instead.
Duplicate an existing survey as a new draft. Useful for re-running a poll with the same audience targeting and options, or for iterating on a previous test:
Returns all demographic targeting traits available for the specified country. Pass each permalink value as a --targeting flag in survey create (e.g. --targeting amznpr).
Generate an image from a text prompt and get a CDN URL:
pickfu media generate --prompt "A playful logo for a kids app"pickfu media generate --prompt "Product banner" --aspect-ratio 16:9
Pass one or more reference images so the model can preserve product appearance across regenerated variants — useful for iterating on packaging, A+ content, or main-image variants:
Upload an image or video to the PickFu CDN from a URL or local file:
pickfu media upload --url https://example.com/image.pngpickfu media upload --file ./logo.pngpickfu media upload --file ./demo.mp4 --resource-type video
Flag
Description
--url
URL of the media to upload (mutually exclusive with --file)
--file
Path to a local file to upload (mutually exclusive with --url)
--filename
Display name hint for the uploaded media
--resource-type
image or video (auto-detected if omitted)
YouTube, Vimeo, and Wistia URLs are returned as-is since PickFu embeds them natively.
Fetch metadata (content type, size, ETag) for an image or video URL without downloading the full payload:
pickfu media show https://media-cdn.pickfu.com/.../v1.jpgpickfu media show https://media-cdn.pickfu.com/.../v1.jpg --openpickfu media show https://media-cdn.pickfu.com/.../v1.jpg --json
Flag
Description
Default
--open
Open the URL in the system default browser after fetching metadata