alibabacloud

package
v0.37.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 4, 2026 License: MIT Imports: 17 Imported by: 0

Documentation

Overview

Package alibabacloud 对接阿里云百炼(DashScope)多模态 API。

对外入口为本目录下的 ConfigEngineNew 与模型常量;实现按能力域拆在 internal 子包中(仅 alibabacloud 可导入):

  • internal/imggen 图片生成(qwen-image 文生图、Wan/z-image 多模态图)
  • internal/vidgen 视频生成与编辑(Wan t2v / r2v / videoedit)
  • internal/audiogen 语音合成与声音设计(Qwen TTS、qwen-voice-design)
  • internal/async 异步任务创建与轮询
  • internal/graphx 从 workflow.Graph 抽取各域共用字段
  • internal/runtime HTTP 与轮询等运行时参数
  • internal/ierr 错误哨兵(根包重新导出以保持 API 稳定)

Index

Constants

View Source
const (
	ModelQwenImage         = "qwen-image"
	ModelQwenImage2        = "qwen-image-2.0"
	ModelQwenImageEditPlus = "qwen-image-edit-plus"
	ModelWanImage          = "wan2.7-image"
	ModelZImageTurbo       = "z-image-turbo"
	ModelWanTextToVideo    = "wan2.7-t2v"
	ModelWanImageToVideo   = "wan2.7-i2v"
	ModelWanReferenceVideo = "wan2.7-r2v"
	ModelWanVideoEdit      = "wan2.7-videoedit"

	ModelKlingV3Video     = "kling/kling-v3-video-generation"
	ModelKlingV3OmniVideo = "kling/kling-v3-omni-video-generation"

	ModelQwenTTSFlash         = "qwen3-tts-flash"
	ModelQwenTTSInstructFlash = "qwen3-tts-instruct-flash"
	ModelQwenVoiceDesign      = "qwen-voice-design"

	ModelQwenASRFlash          = "qwen3-asr-flash"
	ModelQwenASRFlashFiletrans = "qwen3-asr-flash-filetrans"

	// Tripo 专业 3D 生成模型(最高 2 万面)。
	ModelTripoP1 = "Tripo/Tripo-P1.0"
	// Tripo 高精度 3D 生成模型(最高 200 万面,支持 geometry_quality)。
	ModelTripoH31 = "Tripo/Tripo-H3.1"

	ModelHappyHorseT2V       = "happyhorse-1.0-t2v"
	ModelHappyHorseI2V       = "happyhorse-1.0-i2v"
	ModelHappyHorseR2V       = "happyhorse-1.0-r2v"
	ModelHappyHorseVideoEdit = "happyhorse-1.0-video-edit"

	ModelFunMusic = "fun-music-v1"
)

Variables

View Source
var (
	ErrMissingPrompt      = ierr.ErrMissingPrompt
	ErrMissingReference   = ierr.ErrMissingReference
	ErrMissingVoice       = ierr.ErrMissingVoice
	ErrMissingVoiceDesign = ierr.ErrMissingVoiceDesign
	ErrMissingAudioURL    = ierr.ErrMissingAudioURL
	ErrUnsupportedModel   = ierr.ErrUnsupportedModel

	// Tripo 3D 边界错误。
	ErrMissingTripoInput  = ierr.ErrMissingTripoInput
	ErrTooManyTripoImages = ierr.ErrTooManyTripoImages
	ErrTripoPromptTooLong = ierr.ErrTripoPromptTooLong

	// HappyHorse 边界错误。
	ErrTooManyHappyHorseImages          = ierr.ErrTooManyHappyHorseImages
	ErrHappyHorseVideoEditMissingVideo  = ierr.ErrHappyHorseVideoEditMissingVideo
	ErrHappyHorseVideoEditTooManyImages = ierr.ErrHappyHorseVideoEditTooManyImages

	// Wan video-edit 边界错误。
	ErrWanVideoEditMissingVideo  = ierr.ErrWanVideoEditMissingVideo
	ErrWanVideoEditTooManyImages = ierr.ErrWanVideoEditTooManyImages
)

与 internal/ierr 中哨兵为同一指针,便于 errors.Is。

Functions

func ConfigSchema

func ConfigSchema() []engine.ConfigField

ConfigSchema returns the configuration fields required by the Aliyun engine.

func DefaultProvider

func DefaultProvider() engine.Provider

DefaultProvider returns preset engine configurations for alibabacloud.

Each preset gets a capability-suffixed DisplayName so UI selectors can distinguish them at a glance (e.g. "阿里云百炼 · 3D").

func ModelInfos added in v0.16.0

func ModelInfos() []engine.ModelInfo

ModelInfos returns i18n metadata for all Alibaba Cloud Bailian models.

func ModelsByCapability

func ModelsByCapability() map[string][]string

ModelsByCapability returns all supported models grouped by capability key (e.g. "image", "image_edit", "video", "tts"). This allows consumers to auto-discover models without hardcoding.

func ResolveModel added in v0.28.0

func ResolveModel(model string) string

ResolveModel maps a routing-suffixed model name to its canonical DashScope model name. Returns the input unchanged if not an alias.

Types

type Config

type Config struct {
	APIKey            string
	BaseURL           string
	Model             string
	HTTPClient        *http.Client
	WaitForCompletion bool
	PollInterval      time.Duration
}

Config configures the Alibaba Cloud Bailian engine.

type Engine

type Engine struct {
	// contains filtered or unexported fields
}

Engine compiles a workflow graph into a Bailian backend request.

func New

func New(cfg Config) *Engine

New creates a Bailian execution engine.

func (*Engine) Capabilities

func (e *Engine) Capabilities() engine.Capability

Capabilities implements engine.Describer.

func (*Engine) Execute

func (e *Engine) Execute(ctx context.Context, graph workflow.Graph) (engine.Result, error)

Execute compiles the workflow graph into the configured Bailian model request.

func (*Engine) Resume

func (e *Engine) Resume(ctx context.Context, remoteID string) (engine.Result, error)

Resume implements engine.Resumer — resumes polling a previously submitted task.

Directories

Path Synopsis
internal
async
Package async 封装百炼异步任务创建与轮询(图生图、文生视频等共用)。
Package async 封装百炼异步任务创建与轮询(图生图、文生视频等共用)。
audiogen
Package audiogen 实现阿里云百炼「语音合成 / 声音设计」类能力。
Package audiogen 实现阿里云百炼「语音合成 / 声音设计」类能力。
graphx
Package graphx 从 workflow.Graph 抽取各域(图/视频/音频)共用字段。
Package graphx 从 workflow.Graph 抽取各域(图/视频/音频)共用字段。
imggen
Package imggen 实现阿里云百炼「图片生成」类能力(文生图等)。
Package imggen 实现阿里云百炼「图片生成」类能力(文生图等)。
threedgen
Package threedgen 实现阿里云百炼「3D 资产生成」类能力(Tripo 系列)。
Package threedgen 实现阿里云百炼「3D 资产生成」类能力(Tripo 系列)。
vidgen
Package vidgen 实现阿里云百炼「视频生成 / 编辑」类能力(Wan 系列异步接口)。
Package vidgen 实现阿里云百炼「视频生成 / 编辑」类能力(Wan 系列异步接口)。

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL