Skip to content

feat: add Higgsfield AI video generation integration#9

Open
devin-ai-integration[bot] wants to merge 1 commit into
developfrom
devin/1779640338-higgsfield-integration
Open

feat: add Higgsfield AI video generation integration#9
devin-ai-integration[bot] wants to merge 1 commit into
developfrom
devin/1779640338-higgsfield-integration

Conversation

@devin-ai-integration

Copy link
Copy Markdown
Contributor

Summary

Adds a new HiggsFieldSkill that lets the agent generate cinematic videos through the Higgsfield Cloud API. The integration follows the same pattern as existing skills (Exa, Devin, Cursor, etc.) and is wired into all five dispatch points.

New agent tools:

  • higgsfield_generate_video — POSTs to the Higgsfield v2 REST API, returns a request_id immediately.
  • higgsfield_check_video — polls /requests/{request_id}/status; returns {status, video_url?, thumbnail_url?, error?}.
  • higgsfield_list_models — returns a curated catalog of available models (Sora 2, Veo 3, Kling 2.1 Pro/Std, Seedance, DoP, Wan, Flux, Soul).

Keychain / Settings:

  • KeyStore.Key.higgsfield + Service.higgsfield (KEY_ID:KEY_SECRET format)
  • Added to both Info.plist files and Secrets.xcconfig.example
  • IntegrationSkill: surfaced in list_api_keys / set_api_key / list_integrations / connect_integration

Wiring (all five dispatch points):

  1. Global tools array (Messaging.swift)
  2. System prompt + skill catalog (AgentHarness.swift)
  3. SkillDispatcher (headless / sub-agent / scheduled runs)
  4. MessagingVC shimmer label (iOS)
  5. VoiceLoopCoordinator dispatch + shimmer (Mac)

Missing-key handling: all tools return {"error": "higgsfield_not_connected"} with a hint to set the key in Settings → Keys.

API details: derived from the official @higgsfield/client npm SDK source (v0.2.1). Uses the v2 REST API: Authorization: Key KEY_ID:KEY_SECRET header, POST /{model-slug} for generation, GET /requests/{id}/status for polling. Base URL: https://platform.higgsfield.ai.

Review & Testing Checklist for Human

  • Build the project in Xcode (both Loop iOS and LoopMac schemes) and confirm no compile errors from the new HiggsFieldSkill references
  • Open Settings → Keys and verify the new "Higgsfield" row appears with the correct display name and subtitle
  • Paste a real KEY_ID:KEY_SECRET credential, then ask the agent to generate a video — confirm the async flow (generate → poll → video_url) works end-to-end
  • With the key not set, call higgsfield_generate_video and confirm you get the higgsfield_not_connected error with the Settings hint
  • Verify list_integrations shows Higgsfield with the correct connected/not_connected status

Suggested test plan: Build → run on simulator → open Settings → Keys → verify Higgsfield row → go back to chat → type "list my integrations" → confirm Higgsfield shows up → type "generate a cinematic video of a sunset" → confirm either the not-connected error (no key) or the request_id response (with key).

Notes

  • The model catalog in higgsfield_list_models is static (curated from Higgsfield Cloud docs and SDK). If Higgsfield adds new models, this list can be updated independently.
  • The API endpoints were derived from the @higgsfield/client v0.2.1 npm package source — the v2 client uses Authorization: Key ID:SECRET auth and sends input fields at the top level of the POST body (not wrapped in params like v1).

Link to Devin session: https://app.devin.ai/sessions/1d716602b55642729e099c13f192a601

@devin-ai-integration

Copy link
Copy Markdown
Contributor Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

@devin-ai-integration devin-ai-integration Bot requested a review from ashbhat May 24, 2026 16:38
@devin-ai-integration devin-ai-integration Bot force-pushed the devin/1779640338-higgsfield-integration branch from 62cef75 to 70edb08 Compare May 25, 2026 05:36
@devin-ai-integration

Copy link
Copy Markdown
Contributor Author

Merge conflict check: This branch was already up to date with main — no conflicts to resolve. Ready to merge.

@devin-ai-integration devin-ai-integration Bot force-pushed the devin/1779640338-higgsfield-integration branch 2 times, most recently from 20b66d6 to 63f1bd1 Compare May 25, 2026 19:28
Add a new skill (HiggsFieldSkill) that lets the agent generate cinematic
videos through the Higgsfield Cloud API (https://cloud.higgsfield.ai/).

New agent tools:
- higgsfield_generate_video: kick off a generation job (returns request_id)
- higgsfield_check_video: poll job status (queued → completed → video_url)
- higgsfield_list_models: enumerate available models (Sora 2, Veo 3,
  Kling 2.1, Seedance, DoP, Flux, Soul)

Keychain / Settings:
- New KeyStore.Key.higgsfield + Service.higgsfield
- Added to Info.plist (iOS + Mac) and Secrets.xcconfig.example
- Surfaced in list_api_keys / set_api_key via IntegrationSkill
- Higgsfield appears in list_integrations and connect_integration

Wiring (all five dispatch points):
- Messaging.swift global tools array
- AgentHarness system prompt + skill catalog
- SkillDispatcher (headless / sub-agent / scheduled runs)
- MessagingVC shimmer label (iOS)
- VoiceLoopCoordinator dispatch + shimmer (Mac)

Missing-key handling: tools return {error: "higgsfield_not_connected"}
with a hint to set the key in Settings → Keys.

Docs: new Integrations section in README.md.
Co-Authored-By: bot_apk <apk@cognition.ai>
@devin-ai-integration devin-ai-integration Bot force-pushed the devin/1779640338-higgsfield-integration branch from 63f1bd1 to 8d99f34 Compare May 25, 2026 20:13
@devin-ai-integration devin-ai-integration Bot changed the base branch from main to develop May 25, 2026 20:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants