together 2.0.0a8__tar.gz → 2.0.0a9__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- together-2.0.0a9/.release-please-manifest.json +3 -0
- {together-2.0.0a8 → together-2.0.0a9}/CHANGELOG.md +23 -0
- {together-2.0.0a8 → together-2.0.0a9}/PKG-INFO +3 -2
- {together-2.0.0a8 → together-2.0.0a9}/README.md +2 -1
- {together-2.0.0a8 → together-2.0.0a9}/pyproject.toml +11 -9
- {together-2.0.0a8 → together-2.0.0a9}/requirements-dev.lock +5 -7
- {together-2.0.0a8 → together-2.0.0a9}/src/together/_streaming.py +50 -48
- {together-2.0.0a8 → together-2.0.0a9}/src/together/_utils/_utils.py +1 -1
- {together-2.0.0a8 → together-2.0.0a9}/src/together/_version.py +1 -1
- {together-2.0.0a8 → together-2.0.0a9}/src/together/resources/audio/transcriptions.py +20 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/resources/images.py +13 -1
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/audio/transcription_create_params.py +14 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/image_generate_params.py +9 -0
- {together-2.0.0a8 → together-2.0.0a9}/tests/api_resources/audio/test_transcriptions.py +4 -0
- {together-2.0.0a8 → together-2.0.0a9}/tests/api_resources/test_images.py +2 -0
- {together-2.0.0a8 → together-2.0.0a9}/uv.lock +66 -73
- together-2.0.0a8/.release-please-manifest.json +0 -3
- {together-2.0.0a8 → together-2.0.0a9}/.gitignore +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/CONTRIBUTING.md +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/LICENSE +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/SECURITY.md +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/api.md +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/bin/check-release-environment +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/bin/publish-pypi +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/examples/.keep +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/examples/coqa-small.jsonl +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/examples/coqa.jsonl +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/examples/embedding.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/examples/file-upload.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/examples/files.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/examples/fine_tuning.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/examples/image.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/examples/models.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/examples/streaming.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/release-please-config.json +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/__init__.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/_base_client.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/_client.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/_compat.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/_constants.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/_exceptions.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/_files.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/_models.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/_qs.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/_resource.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/_response.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/_types.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/_utils/__init__.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/_utils/_compat.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/_utils/_datetime_parse.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/_utils/_logs.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/_utils/_proxy.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/_utils/_reflection.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/_utils/_resources_proxy.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/_utils/_streams.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/_utils/_sync.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/_utils/_transform.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/_utils/_typing.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/lib/.keep +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/lib/__init__.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/lib/cli/__init__.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/lib/cli/api/__init__.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/lib/cli/api/endpoints.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/lib/cli/api/evals.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/lib/cli/api/files.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/lib/cli/api/fine_tuning.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/lib/cli/api/models.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/lib/cli/api/utils.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/lib/cli/cli.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/lib/constants.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/lib/resources/__init__.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/lib/resources/files.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/lib/resources/fine_tuning.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/lib/resources/models.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/lib/types/__init__.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/lib/types/error.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/lib/types/fine_tuning.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/lib/utils/__init__.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/lib/utils/_log.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/lib/utils/files.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/lib/utils/serializer.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/lib/utils/tools.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/py.typed +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/resources/__init__.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/resources/audio/__init__.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/resources/audio/audio.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/resources/audio/speech.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/resources/audio/translations.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/resources/audio/voices.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/resources/batches.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/resources/chat/__init__.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/resources/chat/chat.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/resources/chat/completions.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/resources/code_interpreter/__init__.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/resources/code_interpreter/code_interpreter.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/resources/code_interpreter/sessions.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/resources/completions.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/resources/embeddings.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/resources/endpoints.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/resources/evals.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/resources/files.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/resources/fine_tuning.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/resources/hardware.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/resources/jobs.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/resources/models.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/resources/rerank.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/resources/videos.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/__init__.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/audio/__init__.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/audio/speech_create_params.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/audio/transcription_create_response.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/audio/translation_create_params.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/audio/translation_create_response.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/audio/voice_list_response.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/audio_speech_stream_chunk.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/autoscaling.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/autoscaling_param.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/batch_create_params.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/batch_create_response.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/batch_job.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/batch_list_response.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/chat/__init__.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/chat/chat_completion.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/chat/chat_completion_chunk.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/chat/chat_completion_structured_message_image_url_param.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/chat/chat_completion_structured_message_text_param.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/chat/chat_completion_structured_message_video_url_param.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/chat/chat_completion_usage.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/chat/chat_completion_warning.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/chat/completion_create_params.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/code_interpreter/__init__.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/code_interpreter/session_list_response.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/code_interpreter_execute_params.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/completion.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/completion_chunk.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/completion_create_params.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/dedicated_endpoint.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/embedding.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/embedding_create_params.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/endpoint_create_params.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/endpoint_list_avzones_response.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/endpoint_list_params.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/endpoint_list_response.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/endpoint_update_params.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/eval_create_params.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/eval_create_response.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/eval_list_params.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/eval_list_response.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/eval_status_response.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/evaluation_job.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/execute_response.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/file_delete_response.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/file_list.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/file_purpose.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/file_response.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/file_type.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/fine_tuning_cancel_response.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/fine_tuning_content_params.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/fine_tuning_delete_params.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/fine_tuning_delete_response.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/fine_tuning_list_checkpoints_response.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/fine_tuning_list_events_response.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/fine_tuning_list_response.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/finetune_event.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/finetune_event_type.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/finetune_response.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/hardware_list_params.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/hardware_list_response.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/image_data_b64.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/image_data_url.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/image_file.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/job_list_response.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/job_retrieve_response.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/log_probs.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/model_list_response.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/model_object.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/model_upload_params.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/model_upload_response.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/rerank_create_params.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/rerank_create_response.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/tool_choice.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/tool_choice_param.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/tools_param.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/training_method_dpo.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/training_method_sft.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/video_create_params.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/src/together/types/video_job.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/tests/__init__.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/tests/api_resources/__init__.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/tests/api_resources/audio/__init__.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/tests/api_resources/audio/test_speech.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/tests/api_resources/audio/test_translations.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/tests/api_resources/audio/test_voices.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/tests/api_resources/chat/__init__.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/tests/api_resources/chat/test_completions.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/tests/api_resources/code_interpreter/__init__.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/tests/api_resources/code_interpreter/test_sessions.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/tests/api_resources/test_batches.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/tests/api_resources/test_code_interpreter.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/tests/api_resources/test_completions.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/tests/api_resources/test_embeddings.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/tests/api_resources/test_endpoints.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/tests/api_resources/test_evals.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/tests/api_resources/test_files.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/tests/api_resources/test_fine_tuning.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/tests/api_resources/test_hardware.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/tests/api_resources/test_jobs.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/tests/api_resources/test_models.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/tests/api_resources/test_rerank.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/tests/api_resources/test_videos.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/tests/conftest.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/tests/integration/__init__.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/tests/integration/constants.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/tests/integration/resources/__init__.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/tests/integration/resources/generate_hyperparameters.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/tests/integration/resources/test_completion.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/tests/integration/resources/test_completion_stream.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/tests/integration/resources/test_files.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/tests/sample_file.txt +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/tests/test_client.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/tests/test_deepcopy.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/tests/test_extract_files.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/tests/test_files.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/tests/test_models.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/tests/test_qs.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/tests/test_required_args.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/tests/test_response.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/tests/test_streaming.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/tests/test_transform.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/tests/test_utils/test_datetime_parse.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/tests/test_utils/test_proxy.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/tests/test_utils/test_typing.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/tests/unit/test_async_client.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/tests/unit/test_client.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/tests/unit/test_code_interpreter.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/tests/unit/test_files_checks.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/tests/unit/test_files_resource.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/tests/unit/test_fine_tuning_resources.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/tests/unit/test_imports.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/tests/unit/test_multipart_upload_manager.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/tests/unit/test_preference_openai.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/tests/unit/test_video_url.py +0 -0
- {together-2.0.0a8 → together-2.0.0a9}/tests/utils.py +0 -0
|
@@ -1,5 +1,28 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2.0.0-alpha.9 (2025-12-03)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v2.0.0-alpha.8...v2.0.0-alpha.9](https://github.com/togethercomputer/together-py/compare/v2.0.0-alpha.8...v2.0.0-alpha.9)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* **api:** api update ([fa5e6f3](https://github.com/togethercomputer/together-py/commit/fa5e6f3eb27475ac2e377bbea9150d45bf4e141e))
|
|
10
|
+
* **api:** api update ([236996f](https://github.com/togethercomputer/together-py/commit/236996f0eba5c0a33d2da59b438a830684e89192))
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Bug Fixes
|
|
14
|
+
|
|
15
|
+
* ensure streams are always closed ([db990c7](https://github.com/togethercomputer/together-py/commit/db990c744ebfffcfe48f52dc44b1ca7b47f1f79a))
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
### Chores
|
|
19
|
+
|
|
20
|
+
* bump required `uv` version ([1dfec56](https://github.com/togethercomputer/together-py/commit/1dfec5659c5a8e6c8abc7a1035d602a3e47ff67a))
|
|
21
|
+
* **deps:** mypy 1.18.1 has a regression, pin to 1.17 ([2235b95](https://github.com/togethercomputer/together-py/commit/2235b95d3e8dc11c9edc308e2b4b69b1463d21cb))
|
|
22
|
+
* **docs:** use environment variables for authentication in code snippets ([051c1b4](https://github.com/togethercomputer/together-py/commit/051c1b489cb80ded1ad60f6b8722512dd2efae3f))
|
|
23
|
+
* fix internal type issues ([4a2b0f1](https://github.com/togethercomputer/together-py/commit/4a2b0f1cfebc013102e21d54318269a0fe037b7a))
|
|
24
|
+
* update lockfile ([e93c953](https://github.com/togethercomputer/together-py/commit/e93c95338756fb37f279aec946d0c5f74cf22877))
|
|
25
|
+
|
|
3
26
|
## 2.0.0-alpha.8 (2025-11-26)
|
|
4
27
|
|
|
5
28
|
Full Changelog: [v2.0.0-alpha.7...v2.0.0-alpha.8](https://github.com/togethercomputer/together-py/compare/v2.0.0-alpha.7...v2.0.0-alpha.8)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: together
|
|
3
|
-
Version: 2.0.
|
|
3
|
+
Version: 2.0.0a9
|
|
4
4
|
Summary: The official Python library for the together API
|
|
5
5
|
Project-URL: Homepage, https://github.com/togethercomputer/together-py
|
|
6
6
|
Project-URL: Repository, https://github.com/togethercomputer/together-py
|
|
@@ -144,6 +144,7 @@ pip install 'together[aiohttp] @ git+ssh://git@github.com/togethercomputer/toget
|
|
|
144
144
|
Then you can enable it by instantiating the client with `http_client=DefaultAioHttpClient()`:
|
|
145
145
|
|
|
146
146
|
```python
|
|
147
|
+
import os
|
|
147
148
|
import asyncio
|
|
148
149
|
from together import DefaultAioHttpClient
|
|
149
150
|
from together import AsyncTogether
|
|
@@ -151,7 +152,7 @@ from together import AsyncTogether
|
|
|
151
152
|
|
|
152
153
|
async def main() -> None:
|
|
153
154
|
async with AsyncTogether(
|
|
154
|
-
api_key="
|
|
155
|
+
api_key=os.environ.get("TOGETHER_API_KEY"), # This is the default and can be omitted
|
|
155
156
|
http_client=DefaultAioHttpClient(),
|
|
156
157
|
) as client:
|
|
157
158
|
chat_completion = await client.chat.completions.create(
|
|
@@ -98,6 +98,7 @@ pip install 'together[aiohttp] @ git+ssh://git@github.com/togethercomputer/toget
|
|
|
98
98
|
Then you can enable it by instantiating the client with `http_client=DefaultAioHttpClient()`:
|
|
99
99
|
|
|
100
100
|
```python
|
|
101
|
+
import os
|
|
101
102
|
import asyncio
|
|
102
103
|
from together import DefaultAioHttpClient
|
|
103
104
|
from together import AsyncTogether
|
|
@@ -105,7 +106,7 @@ from together import AsyncTogether
|
|
|
105
106
|
|
|
106
107
|
async def main() -> None:
|
|
107
108
|
async with AsyncTogether(
|
|
108
|
-
api_key="
|
|
109
|
+
api_key=os.environ.get("TOGETHER_API_KEY"), # This is the default and can be omitted
|
|
109
110
|
http_client=DefaultAioHttpClient(),
|
|
110
111
|
) as client:
|
|
111
112
|
chat_completion = await client.chat.completions.create(
|
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "together"
|
|
3
|
-
version = "2.0.0-alpha.
|
|
3
|
+
version = "2.0.0-alpha.9"
|
|
4
4
|
description = "The official Python library for the together API"
|
|
5
5
|
dynamic = ["readme"]
|
|
6
6
|
license = "Apache-2.0"
|
|
7
7
|
authors = [
|
|
8
8
|
{ name = "Together", email = "dev-feedback@TogetherAI.com" },
|
|
9
9
|
]
|
|
10
|
+
|
|
10
11
|
dependencies = [
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
12
|
+
"httpx>=0.23.0, <1",
|
|
13
|
+
"pydantic>=1.9.0, <3",
|
|
14
|
+
"typing-extensions>=4.10, <5",
|
|
15
|
+
"anyio>=3.5.0, <5",
|
|
16
|
+
"distro>=1.7.0, <2",
|
|
17
|
+
"sniffio",
|
|
17
18
|
"click>=8.1.7",
|
|
18
19
|
"rich>=13.7.1",
|
|
19
20
|
"tabulate>=0.9.0",
|
|
@@ -23,6 +24,7 @@ dependencies = [
|
|
|
23
24
|
"types-tqdm>=4.67.0.20250516",
|
|
24
25
|
"filelock>=3.13.1",
|
|
25
26
|
]
|
|
27
|
+
|
|
26
28
|
requires-python = ">= 3.9"
|
|
27
29
|
classifiers = [
|
|
28
30
|
"Typing :: Typed",
|
|
@@ -55,7 +57,7 @@ together = "together.lib.cli.cli:main"
|
|
|
55
57
|
|
|
56
58
|
[tool.uv]
|
|
57
59
|
managed = true
|
|
58
|
-
required-version = ">=0.
|
|
60
|
+
required-version = ">=0.9"
|
|
59
61
|
conflicts = [
|
|
60
62
|
[
|
|
61
63
|
{ group = "pydantic-v1" },
|
|
@@ -67,7 +69,7 @@ conflicts = [
|
|
|
67
69
|
# version pins are in uv.lock
|
|
68
70
|
dev = [
|
|
69
71
|
"pyright==1.1.399",
|
|
70
|
-
"mypy",
|
|
72
|
+
"mypy==1.17",
|
|
71
73
|
"respx",
|
|
72
74
|
"pytest",
|
|
73
75
|
"pytest-asyncio",
|
|
@@ -8,7 +8,7 @@ aiosignal==1.4.0
|
|
|
8
8
|
# via aiohttp
|
|
9
9
|
annotated-types==0.7.0
|
|
10
10
|
# via pydantic
|
|
11
|
-
anyio==4.
|
|
11
|
+
anyio==4.12.0
|
|
12
12
|
# via
|
|
13
13
|
# httpx
|
|
14
14
|
# together
|
|
@@ -76,7 +76,7 @@ multidict==6.7.0
|
|
|
76
76
|
# via
|
|
77
77
|
# aiohttp
|
|
78
78
|
# yarl
|
|
79
|
-
mypy==1.
|
|
79
|
+
mypy==1.17.0
|
|
80
80
|
mypy-extensions==1.1.0
|
|
81
81
|
# via mypy
|
|
82
82
|
nodeenv==1.9.1
|
|
@@ -95,7 +95,7 @@ propcache==0.4.1
|
|
|
95
95
|
# via
|
|
96
96
|
# aiohttp
|
|
97
97
|
# yarl
|
|
98
|
-
pydantic==2.12.
|
|
98
|
+
pydantic==2.12.5
|
|
99
99
|
# via together
|
|
100
100
|
pydantic-core==2.41.5
|
|
101
101
|
# via pydantic
|
|
@@ -123,13 +123,11 @@ python-dateutil==2.9.0.post0 ; python_full_version < '3.10'
|
|
|
123
123
|
respx==0.22.0
|
|
124
124
|
rich==14.2.0
|
|
125
125
|
# via together
|
|
126
|
-
ruff==0.14.
|
|
126
|
+
ruff==0.14.7
|
|
127
127
|
six==1.17.0 ; python_full_version < '3.10'
|
|
128
128
|
# via python-dateutil
|
|
129
129
|
sniffio==1.3.1
|
|
130
|
-
# via
|
|
131
|
-
# anyio
|
|
132
|
-
# together
|
|
130
|
+
# via together
|
|
133
131
|
tabulate==0.9.0
|
|
134
132
|
# via together
|
|
135
133
|
time-machine==2.19.0 ; python_full_version < '3.10'
|
|
@@ -55,30 +55,31 @@ class Stream(Generic[_T]):
|
|
|
55
55
|
process_data = self._client._process_response_data
|
|
56
56
|
iterator = self._iter_events()
|
|
57
57
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
58
|
+
try:
|
|
59
|
+
for sse in iterator:
|
|
60
|
+
if sse.data.startswith("[DONE]"):
|
|
61
|
+
break
|
|
62
|
+
|
|
63
|
+
if sse.event is None:
|
|
64
|
+
data = sse.json()
|
|
65
|
+
if is_mapping(data) and data.get("error"):
|
|
66
|
+
message = None
|
|
67
|
+
error = data.get("error")
|
|
68
|
+
if is_mapping(error):
|
|
69
|
+
message = error.get("message")
|
|
70
|
+
if not message or not isinstance(message, str):
|
|
71
|
+
message = "An error occurred during streaming"
|
|
72
|
+
|
|
73
|
+
raise APIError(
|
|
74
|
+
message=message,
|
|
75
|
+
request=self.response.request,
|
|
76
|
+
body=data["error"],
|
|
77
|
+
)
|
|
78
|
+
|
|
79
|
+
yield process_data(data=data, cast_to=cast_to, response=response)
|
|
80
|
+
finally:
|
|
81
|
+
# Ensure the response is closed even if the consumer doesn't read all data
|
|
82
|
+
response.close()
|
|
82
83
|
|
|
83
84
|
def __enter__(self) -> Self:
|
|
84
85
|
return self
|
|
@@ -137,30 +138,31 @@ class AsyncStream(Generic[_T]):
|
|
|
137
138
|
process_data = self._client._process_response_data
|
|
138
139
|
iterator = self._iter_events()
|
|
139
140
|
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
141
|
+
try:
|
|
142
|
+
async for sse in iterator:
|
|
143
|
+
if sse.data.startswith("[DONE]"):
|
|
144
|
+
break
|
|
145
|
+
|
|
146
|
+
if sse.event is None:
|
|
147
|
+
data = sse.json()
|
|
148
|
+
if is_mapping(data) and data.get("error"):
|
|
149
|
+
message = None
|
|
150
|
+
error = data.get("error")
|
|
151
|
+
if is_mapping(error):
|
|
152
|
+
message = error.get("message")
|
|
153
|
+
if not message or not isinstance(message, str):
|
|
154
|
+
message = "An error occurred during streaming"
|
|
155
|
+
|
|
156
|
+
raise APIError(
|
|
157
|
+
message=message,
|
|
158
|
+
request=self.response.request,
|
|
159
|
+
body=data["error"],
|
|
160
|
+
)
|
|
161
|
+
|
|
162
|
+
yield process_data(data=data, cast_to=cast_to, response=response)
|
|
163
|
+
finally:
|
|
164
|
+
# Ensure the response is closed even if the consumer doesn't read all data
|
|
165
|
+
await response.aclose()
|
|
164
166
|
|
|
165
167
|
async def __aenter__(self) -> Self:
|
|
166
168
|
return self
|
|
@@ -373,7 +373,7 @@ def get_required_header(headers: HeadersLike, header: str) -> str:
|
|
|
373
373
|
lower_header = header.lower()
|
|
374
374
|
if is_mapping_t(headers):
|
|
375
375
|
# mypy doesn't understand the type narrowing here
|
|
376
|
-
for k, v in headers.items(): # type: ignore[misc, has-type]
|
|
376
|
+
for k, v in headers.items(): # type: ignore[misc, has-type, attr-defined]
|
|
377
377
|
if k.lower() == lower_header and isinstance(v, str): # type: ignore[has-type]
|
|
378
378
|
return v # type: ignore[has-type]
|
|
379
379
|
|
|
@@ -50,6 +50,8 @@ class TranscriptionsResource(SyncAPIResource):
|
|
|
50
50
|
file: FileTypes,
|
|
51
51
|
diarize: bool | Omit = omit,
|
|
52
52
|
language: str | Omit = omit,
|
|
53
|
+
max_speakers: int | Omit = omit,
|
|
54
|
+
min_speakers: int | Omit = omit,
|
|
53
55
|
model: Literal["openai/whisper-large-v3"] | Omit = omit,
|
|
54
56
|
prompt: str | Omit = omit,
|
|
55
57
|
response_format: Literal["json", "verbose_json"] | Omit = omit,
|
|
@@ -82,6 +84,12 @@ class TranscriptionsResource(SyncAPIResource):
|
|
|
82
84
|
language: Optional ISO 639-1 language code. If `auto` is provided, language is
|
|
83
85
|
auto-detected.
|
|
84
86
|
|
|
87
|
+
max_speakers: Maximum number of speakers expected in the audio. Used to improve diarization
|
|
88
|
+
accuracy when the approximate number of speakers is known.
|
|
89
|
+
|
|
90
|
+
min_speakers: Minimum number of speakers expected in the audio. Used to improve diarization
|
|
91
|
+
accuracy when the approximate number of speakers is known.
|
|
92
|
+
|
|
85
93
|
model: Model to use for transcription
|
|
86
94
|
|
|
87
95
|
prompt: Optional text to bias decoding.
|
|
@@ -107,6 +115,8 @@ class TranscriptionsResource(SyncAPIResource):
|
|
|
107
115
|
"file": file,
|
|
108
116
|
"diarize": diarize,
|
|
109
117
|
"language": language,
|
|
118
|
+
"max_speakers": max_speakers,
|
|
119
|
+
"min_speakers": min_speakers,
|
|
110
120
|
"model": model,
|
|
111
121
|
"prompt": prompt,
|
|
112
122
|
"response_format": response_format,
|
|
@@ -161,6 +171,8 @@ class AsyncTranscriptionsResource(AsyncAPIResource):
|
|
|
161
171
|
file: FileTypes,
|
|
162
172
|
diarize: bool | Omit = omit,
|
|
163
173
|
language: str | Omit = omit,
|
|
174
|
+
max_speakers: int | Omit = omit,
|
|
175
|
+
min_speakers: int | Omit = omit,
|
|
164
176
|
model: Literal["openai/whisper-large-v3"] | Omit = omit,
|
|
165
177
|
prompt: str | Omit = omit,
|
|
166
178
|
response_format: Literal["json", "verbose_json"] | Omit = omit,
|
|
@@ -193,6 +205,12 @@ class AsyncTranscriptionsResource(AsyncAPIResource):
|
|
|
193
205
|
language: Optional ISO 639-1 language code. If `auto` is provided, language is
|
|
194
206
|
auto-detected.
|
|
195
207
|
|
|
208
|
+
max_speakers: Maximum number of speakers expected in the audio. Used to improve diarization
|
|
209
|
+
accuracy when the approximate number of speakers is known.
|
|
210
|
+
|
|
211
|
+
min_speakers: Minimum number of speakers expected in the audio. Used to improve diarization
|
|
212
|
+
accuracy when the approximate number of speakers is known.
|
|
213
|
+
|
|
196
214
|
model: Model to use for transcription
|
|
197
215
|
|
|
198
216
|
prompt: Optional text to bias decoding.
|
|
@@ -218,6 +236,8 @@ class AsyncTranscriptionsResource(AsyncAPIResource):
|
|
|
218
236
|
"file": file,
|
|
219
237
|
"diarize": diarize,
|
|
220
238
|
"language": language,
|
|
239
|
+
"max_speakers": max_speakers,
|
|
240
|
+
"min_speakers": min_speakers,
|
|
221
241
|
"model": model,
|
|
222
242
|
"prompt": prompt,
|
|
223
243
|
"response_format": response_format,
|
|
@@ -8,7 +8,7 @@ from typing_extensions import Literal
|
|
|
8
8
|
import httpx
|
|
9
9
|
|
|
10
10
|
from ..types import image_generate_params
|
|
11
|
-
from .._types import Body, Omit, Query, Headers, NotGiven, omit, not_given
|
|
11
|
+
from .._types import Body, Omit, Query, Headers, NotGiven, SequenceNotStr, omit, not_given
|
|
12
12
|
from .._utils import maybe_transform, async_maybe_transform
|
|
13
13
|
from .._compat import cached_property
|
|
14
14
|
from .._resource import SyncAPIResource, AsyncAPIResource
|
|
@@ -64,6 +64,7 @@ class ImagesResource(SyncAPIResource):
|
|
|
64
64
|
n: int | Omit = omit,
|
|
65
65
|
negative_prompt: str | Omit = omit,
|
|
66
66
|
output_format: Literal["jpeg", "png"] | Omit = omit,
|
|
67
|
+
reference_images: SequenceNotStr[str] | Omit = omit,
|
|
67
68
|
response_format: Literal["base64", "url"] | Omit = omit,
|
|
68
69
|
seed: int | Omit = omit,
|
|
69
70
|
steps: int | Omit = omit,
|
|
@@ -105,6 +106,10 @@ class ImagesResource(SyncAPIResource):
|
|
|
105
106
|
output_format: The format of the image response. Can be either be `jpeg` or `png`. Defaults to
|
|
106
107
|
`jpeg`.
|
|
107
108
|
|
|
109
|
+
reference_images: An array of image URLs that guide the overall appearance and style of the
|
|
110
|
+
generated image. These reference images influence the visual characteristics
|
|
111
|
+
consistently across the generation.
|
|
112
|
+
|
|
108
113
|
response_format: Format of the image response. Can be either a base64 string or a URL.
|
|
109
114
|
|
|
110
115
|
seed: Seed used for generation. Can be used to reproduce image generations.
|
|
@@ -135,6 +140,7 @@ class ImagesResource(SyncAPIResource):
|
|
|
135
140
|
"n": n,
|
|
136
141
|
"negative_prompt": negative_prompt,
|
|
137
142
|
"output_format": output_format,
|
|
143
|
+
"reference_images": reference_images,
|
|
138
144
|
"response_format": response_format,
|
|
139
145
|
"seed": seed,
|
|
140
146
|
"steps": steps,
|
|
@@ -189,6 +195,7 @@ class AsyncImagesResource(AsyncAPIResource):
|
|
|
189
195
|
n: int | Omit = omit,
|
|
190
196
|
negative_prompt: str | Omit = omit,
|
|
191
197
|
output_format: Literal["jpeg", "png"] | Omit = omit,
|
|
198
|
+
reference_images: SequenceNotStr[str] | Omit = omit,
|
|
192
199
|
response_format: Literal["base64", "url"] | Omit = omit,
|
|
193
200
|
seed: int | Omit = omit,
|
|
194
201
|
steps: int | Omit = omit,
|
|
@@ -230,6 +237,10 @@ class AsyncImagesResource(AsyncAPIResource):
|
|
|
230
237
|
output_format: The format of the image response. Can be either be `jpeg` or `png`. Defaults to
|
|
231
238
|
`jpeg`.
|
|
232
239
|
|
|
240
|
+
reference_images: An array of image URLs that guide the overall appearance and style of the
|
|
241
|
+
generated image. These reference images influence the visual characteristics
|
|
242
|
+
consistently across the generation.
|
|
243
|
+
|
|
233
244
|
response_format: Format of the image response. Can be either a base64 string or a URL.
|
|
234
245
|
|
|
235
246
|
seed: Seed used for generation. Can be used to reproduce image generations.
|
|
@@ -260,6 +271,7 @@ class AsyncImagesResource(AsyncAPIResource):
|
|
|
260
271
|
"n": n,
|
|
261
272
|
"negative_prompt": negative_prompt,
|
|
262
273
|
"output_format": output_format,
|
|
274
|
+
"reference_images": reference_images,
|
|
263
275
|
"response_format": response_format,
|
|
264
276
|
"seed": seed,
|
|
265
277
|
"steps": steps,
|
{together-2.0.0a8 → together-2.0.0a9}/src/together/types/audio/transcription_create_params.py
RENAMED
|
@@ -34,6 +34,20 @@ class TranscriptionCreateParams(TypedDict, total=False):
|
|
|
34
34
|
If `auto` is provided, language is auto-detected.
|
|
35
35
|
"""
|
|
36
36
|
|
|
37
|
+
max_speakers: int
|
|
38
|
+
"""Maximum number of speakers expected in the audio.
|
|
39
|
+
|
|
40
|
+
Used to improve diarization accuracy when the approximate number of speakers is
|
|
41
|
+
known.
|
|
42
|
+
"""
|
|
43
|
+
|
|
44
|
+
min_speakers: int
|
|
45
|
+
"""Minimum number of speakers expected in the audio.
|
|
46
|
+
|
|
47
|
+
Used to improve diarization accuracy when the approximate number of speakers is
|
|
48
|
+
known.
|
|
49
|
+
"""
|
|
50
|
+
|
|
37
51
|
model: Literal["openai/whisper-large-v3"]
|
|
38
52
|
"""Model to use for transcription"""
|
|
39
53
|
|
|
@@ -5,6 +5,8 @@ from __future__ import annotations
|
|
|
5
5
|
from typing import Union, Iterable
|
|
6
6
|
from typing_extensions import Literal, Required, TypedDict
|
|
7
7
|
|
|
8
|
+
from .._types import SequenceNotStr
|
|
9
|
+
|
|
8
10
|
__all__ = ["ImageGenerateParams", "ImageLora"]
|
|
9
11
|
|
|
10
12
|
|
|
@@ -61,6 +63,13 @@ class ImageGenerateParams(TypedDict, total=False):
|
|
|
61
63
|
Can be either be `jpeg` or `png`. Defaults to `jpeg`.
|
|
62
64
|
"""
|
|
63
65
|
|
|
66
|
+
reference_images: SequenceNotStr[str]
|
|
67
|
+
"""
|
|
68
|
+
An array of image URLs that guide the overall appearance and style of the
|
|
69
|
+
generated image. These reference images influence the visual characteristics
|
|
70
|
+
consistently across the generation.
|
|
71
|
+
"""
|
|
72
|
+
|
|
64
73
|
response_format: Literal["base64", "url"]
|
|
65
74
|
"""Format of the image response. Can be either a base64 string or a URL."""
|
|
66
75
|
|
|
@@ -30,6 +30,8 @@ class TestTranscriptions:
|
|
|
30
30
|
file=b"raw file contents",
|
|
31
31
|
diarize=True,
|
|
32
32
|
language="en",
|
|
33
|
+
max_speakers=0,
|
|
34
|
+
min_speakers=0,
|
|
33
35
|
model="openai/whisper-large-v3",
|
|
34
36
|
prompt="prompt",
|
|
35
37
|
response_format="json",
|
|
@@ -81,6 +83,8 @@ class TestAsyncTranscriptions:
|
|
|
81
83
|
file=b"raw file contents",
|
|
82
84
|
diarize=True,
|
|
83
85
|
language="en",
|
|
86
|
+
max_speakers=0,
|
|
87
|
+
min_speakers=0,
|
|
84
88
|
model="openai/whisper-large-v3",
|
|
85
89
|
prompt="prompt",
|
|
86
90
|
response_format="json",
|
|
@@ -43,6 +43,7 @@ class TestImages:
|
|
|
43
43
|
n=0,
|
|
44
44
|
negative_prompt="negative_prompt",
|
|
45
45
|
output_format="jpeg",
|
|
46
|
+
reference_images=["string"],
|
|
46
47
|
response_format="base64",
|
|
47
48
|
seed=0,
|
|
48
49
|
steps=0,
|
|
@@ -108,6 +109,7 @@ class TestAsyncImages:
|
|
|
108
109
|
n=0,
|
|
109
110
|
negative_prompt="negative_prompt",
|
|
110
111
|
output_format="jpeg",
|
|
112
|
+
reference_images=["string"],
|
|
111
113
|
response_format="base64",
|
|
112
114
|
seed=0,
|
|
113
115
|
steps=0,
|