Skip to content

feat(llm): add Runcrate as a named OpenAI-compatible provider - #228

Open
heydryft wants to merge 1 commit into
modelscope:mainfrom
heydryft:feat/runcrate-provider
Open

heydryft wants to merge 1 commit into
modelscope:mainfrom
heydryft:feat/runcrate-provider

Conversation

@heydryft

Copy link
Copy Markdown

Summary

  • Adds Runcrate as a named OpenAI-compatible LLM provider, in the same shape as the Cheaper Inference and OrcaRouter routes (feat(llm): add Cheaper Inference as a named OpenAI-compatible gateway #223, feat(llm): add OrcaRouter as a named OpenAI-compatible gateway #205).
  • funclip/llm/openai_api.py: a runcrate/ prefix that is stripped before the request (model ids keep their vendor, e.g. deepseek-ai/DeepSeek-V4.1-Flash), base URL https://api.runcrate.ai/v1 (overridable with RUNCRATE_API_BASE), key from the APIKEY box or RUNCRATE_API_KEY, never OPENAI_API_KEY.
  • funclip/launch.py: runcrate in SUPPORT_LLM_PREFIX, the runcrate/ route to openai_call, and two dropdown entries: runcrate/deepseek-ai/DeepSeek-V4.1-Flash and runcrate/openai/gpt-oss-120b.
  • README and README_zh: a short "Using Runcrate" section next to the other providers.
  • tests/test_runcrate_api.py: base URL, prefix stripping, env key, RUNCRATE_API_BASE override, empty model, and no fallback to the OpenAI key.

User impact

Users can run LLM-assisted clipping on open models through Runcrate; open models are free with your GitHub account.

Validation

  • I ran the relevant tests or commands: pytest tests/test_runcrate_api.py tests/test_cheaperinference_api.py tests/test_orcarouter_api.py tests/test_minimax_api.py tests/test_openai_api.py tests/test_*_launch_integration.py tests/test_model_selection.py: 39 passed.
  • I checked the affected README/docs links, if changed.
  • I verified the affected UI, API, ASR, LLM, or clipping path, if changed: live openai_call("", "runcrate/<model>", <prompt + SRT>, demo_prompt) with RUNCRATE_API_KEY set and no OpenAI variables. Both deepseek-ai/DeepSeek-V4.1-Flash and openai/gpt-oss-120b returned a segment in the 1. [start-end] text format that the AI Clip step parses.

Notes for reviewers

Disclosure: I work on Runcrate. This PR was prepared with AI assistance (an AI coding agent wrote the change and ran the tests and the live check above).

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.

1 participant